当前位置 博文首页 > 前端开发博客:一周热文和进阶面试题 #6

    前端开发博客:一周热文和进阶面试题 #6

    作者:[db:作者] 时间:2021-06-15 09:23

    点击下方“前端开发博客”关注公众号

    回复“面试”获取面试精选文章

    上周的标题,应该是第五期,结果没改,还是第四期,那这次就直接跳到第六期了。

    忙碌的一周过去了,一起来汇总一下前端开发博客最近一周有哪些值得阅读的东西吧。

    上周总结

    文章排行

    1. 90% 前端都会的 ES6 简化代码技巧,你用过哪些?

    2. 33个前端常用的JavaScript函数封装方法

    3. 如何让10万条数据的小程序列表如丝般顺滑

    4. 六则糟糕代码的优化方案

    5. 程序员遇到 Bug 时的 30 个反应,你是哪一种?

    6. 如何收集前端页面性能参数?

    7. 辞退了一位简历造假的程序员

    最新试题

    37. 输出是什么?
    const?numbers?=?[1,?2,?3]
    numbers[10]?=?11
    console.log(numbers)
    
    • A: [1, 2, 3, 7 x null, 11]

    • B: [1, 2, 3, 11]

    • C: [1, 2, 3, 7 x empty, 11]

    • D: SyntaxError

    答案: C

    当你为数组设置超过数组长度的值的时候, JavaScript 会创建名为 "empty slots" 的东西。它们的值实际上是 undefined。你会看到以下场景:

    [1, 2, 3, 7 x empty, 11]

    这取决于你的运行环境(每个浏览器,以及 node 环境,都有可能不同)


    38. 输出是什么?
    (()?=>?{
    ??let?x,?y
    ??try?{
    ????throw?new?Error()
    ??}?catch?(x)?{
    ????(x?=?1),?(y?=?2)
    ????console.log(x)
    ??}
    ??console.log(x)
    ??console.log(y)
    })()
    
    • A: 1 undefined 2

    • B: undefined undefined undefined

    • C: 1 1 2

    • D: 1 undefined undefined

    答案: A

    catch 代码块接收参数 x。当我们传递参数时,这与之前定义的变量 x 不同 。这个 x 是属于 catch 块级作用域的。

    然后,我们将块级作用域中的变量赋值为 1,同时也设置了变量 y 的值。现在,我们打印块级作用域中的变量 x,值为 1

    catch 块之外的变量 x 的值仍为 undefinedy 的值为 2。当我们在 catch 块之外执行 console.log(x) 时,返回 undefinedy 返回 2


    39. JavaScript 中的一切都是?
    • A: 基本类型与对象

    • B: 函数与对象

    • C: 只有对象

    • D: 数字与对象

    答案: A

    JavaScript 只有基本类型和对象。

    基本类型包括 boolean, null, undefined, bigint, number, string, symbol


    40. 输出是什么?
    [[0,?1],?[2,?3]].reduce(
    ??(acc,?cur)?=>?{
    ????return?acc.concat(cur)
    ??},
    ??[1,?2]
    )
    
    • A: [0, 1, 2, 3, 1, 2]

    • B: [6, 1, 2]

    • C: [1, 2, 0, 1, 2, 3]

    • D: [1, 2, 6]

    答案: C

    [1, 2]是初始值。初始值将会作为首次调用时第一个参数 acc 的值。在第一次执行时, acc 的值是 [1, 2]cur 的值是 [0, 1]。合并它们,结果为 [1, 2, 0, 1]。第二次执行, acc 的值是 [1, 2, 0, 1]cur 的值是 [2, 3]。合并它们,最终结果为 [1, 2, 0, 1, 2, 3]


    41. 输出是什么?
    !!null
    !!''
    !!1
    
    • A: false true false

    • B: false false true

    • C: false true true

    • D: true true false

    答案: B

    null 是 falsy。!null 的值是 true!true 的值是 false

    "" 是 falsy。!"" 的值是 true。?!true 的值是 false

    1 是 truthy。!1 的值是 false!false 的值是 true


    42. setInterval 方法的返回值是什么?
    setInterval(()?=>?console.log('Hi'),?1000)
    
    • A: 一个唯一的id

    • B: 该方法指定的毫秒数

    • C: 传递的函数

    • D: undefined

    答案: A

    setInterval 返回一个唯一的 id。此 id 可被用于 clearInterval 函数来取消定时。


    好了,以上就是本周的汇总,以后我们每周会汇总一次,相信你会从中找到你喜欢的内容,最后,记得点个在看,转发文章,关注一下我哦。

    觉得本文对你有帮助?请分享给更多人

    推荐关注「前端开发博客」,提升前端技能

    如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

    有用的话,点个“在看”,支持我们