码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 前端面试题JavaScript篇——2022-09-16


    每日3题

    1 以下代码执行后,控制台中的输出内容为?

    // 以下代码执行后,浏览器的控制台中输出的内容是什么
    var arr = [0, 1, 2];
    arr[10] = 10;
    var newArr = arr.filter((x) => x === undefined);
    
    console.log(newArr);
    • 1
    • 2
    • 3
    • 4
    • 5

    2 以下代码执行后,控制台中的输出内容为?

    // 以下代码执行后,控制台中输出的内容是什么
    const obj = {
      2: 3,
      3: 4,
      length: 2,
      push: Array.prototype.push,
    };
    obj.push(1);
    console.log(obj);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3 以下代码执行后,控制台中的输出内容为?

    // 以下代码执行后,控制台中输出的内容是什么
    let x;
    try {
      throw new Error();
    } catch (x) {
      x = 1;
      console.log(x);
    }
    
    console.log(x);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 公众号【今天也要写bug】更多前端面试题

    答案及解析

    1

    // 答案:[]
    // 考察 filter 方法
    var arr = [0, 1, 2];
    arr[10] = 10;
    var newArr = arr.filter((x) => x === undefined);
    // 传入 filter 方法的函数,只会在已经赋值的索引上被调用,对于那些已经被删除或者从未被赋值的索引不会被调用。
    // 所以最终没有值通过测试
    console.log(newArr);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2

    // 答案:{ '2': 1, '3': 4, length: 3, push: [Function: push] }
    // 考察 push 方法
    // push 方法可以应用在类似数组的对象上
    // push 方法根据 length 属性来决定从哪里开始插入给定的值
    const obj = {
      2: 3,
      3: 4,
      length: 2,
      push: Array.prototype.push,
    };
    obj.push(1); // obj.length=2,所以 push 插入到索引 2 处,即 obj[2]=1
    console.log(obj);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3

    // 答案:1 undefined
    // 考察 catch 和作用域
    // catch块指定一个标识符(在下面为x),该标识符保存由throw语句指定的值。
    // catch块是唯一的,因为当输入catch块时,JavaScript 会创建此标识符,并将其添加到当前作用域;
    // 标识符仅在catch块执行时存在;catch块执行完成后,标识符不再可用。
    let x;
    try {
      throw new Error();
    } catch (x) {
      // x 仅在 catch 块中可用
      x = 1;
      console.log(x); // 输出 1
    }
    
    console.log(x); // x 从未赋值,输出 undefined
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    Spring 类级别多属性联合校验&国际化
    CISSP学习笔记:事件预防和响应
    C++ map和set(补充)
    使用 Rust 开发:以太坊与 Layer2 生态建设新趋势
    二叉树的后序遍历-力扣
    计算机毕业设计 基于HTML+CSS+JavaScript响应式网站健身7页,适配手机端,响应式页面,页面精美,使用bootstrap 框架
    SPA项目之主页面--动态树&右侧内容管理
    位置编码(PE)是如何在Transformers中发挥作用的
    java垃圾回收基础
    红细胞膜包裹铜纳米颗粒/红细胞膜修饰普鲁兰纳米粒子/载磁性碳/黑磷量子点细胞膜制备
  • 原文地址:https://blog.csdn.net/qq_38650754/article/details/126892264
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号