资讯专栏INFORMATION COLUMN

一道JS面试题引发的血案

fantix / 2043人阅读

摘要:项目组长给我看了一道面试别人的面试题。打铁趁热,再来一道题来加深下理解。作者以乐之名本文原创,有不当的地方欢迎指出。

刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时。
BI项目组长给我看了一道面试别人的JS面试题。

虽然答对了,但把理由说错了,照样不及格。

话不多说,直接上题:

var a = 1;
switch (a) {
    case 2:
        console.log(2)
    break;
    case 1, 2, 3:  // 这里case是对比几呢?
        console.log(1)
    break;
    default: 
    break;
}
// result:最后什么都不会输出

看完题如果答对并且知道理由的小伙伴,仅当加深印象;如果你也像我一样不明所以,请仔细往下看。

逗号表达式
表达式1,表达式2,表达式3,...... ,表达式n
逗号表达式的要领:

逗号表达式的运算过程为:从左往右逐个计算表达式

逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值

逗号运算符的优先级别在所有运算符中最低

有了上述的概念,再回过头来看面试题就很清晰了。

打铁趁热,再来一道题来加深下理解。

var i, j, k;
for (i = 0, j = 0; i < 10, j < 6; i++, j++) {
    k = i+j;
}
console.log(k); 

// result:10

执行步骤如下表

i j k
0 0 0
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10

一直埋头写代码,没用到的知识总是容易忘记,刚好碰到,索性做下笔记加深印象,努力学习知识,仅为装X。

作者:以乐之名
本文原创,有不当的地方欢迎指出。转载请指明出处。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96394.html

相关文章

  • 面试不倒翁:一道事件循环引发血案

    摘要:通过查看的文档可以发现整个分为个阶段定时器相关任务,中我们关注的是它会执行和中到期的回调执行某些系统操作的回调内部使用执行,一定条件下会在这个阶段阻塞住执行的回调如果或者关闭了,就会在这个阶段触发事件,执行事件的回调的代码在文件中。 showImg(https://segmentfault.com/img/bVbd7B7?w=1227&h=644); 这次我们就不要那么多前戏,直奔主题...

    ispring 评论0 收藏0
  • 一道JS面试引发"血案",透过现象寻本质,再从本质看现象

    摘要:一看这二逼就是周杰伦的死忠粉看看控制台输出,确实没错就是对象。从根本上来说,作用域是基于函数的,而执行环境是基于对象的例如全局执行环境即全局对象。全局对象全局属性和函数可用于所有内建的对象。全局对象只是一个对象,而不是类。 觉得本人写的不算很烂的话,可以登录关注一下我的GitHub博客,博客会坚持写下去。 今天同学去面试,做了两道面试题,全部做错了,发过来给我看,我一眼就看出来了,因为...

    QiShare 评论0 收藏0
  • Deep in JS - 收藏集 - 掘金

    摘要:今天同学去面试,做了两道面试题全部做错了,发过来给道典型的面试题前端掘金在界中,开发人员的需求量一直居高不下。 排序算法 -- JavaScript 标准参考教程(alpha) - 前端 - 掘金来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 目录 冒泡排序 简介 算法实现 选择排序 简介 算法实现 ... 图例详解那道 setTimeout 与循环闭包的经典面...

    enali 评论0 收藏0
  • 前端优化 - 收藏集 - 掘金

    摘要:虽然有着各种各样的不同,但是相同的是,他们前端优化不完全指南前端掘金篇幅可能有点长,我想先聊一聊阅读的方式,我希望你阅读的时候,能够把我当作你的竞争对手,你的梦想是超越我。 如何提升页面渲染效率 - 前端 - 掘金Web页面的性能 我们每天都会浏览很多的Web页面,使用很多基于Web的应用。这些站点看起来既不一样,用途也都各有不同,有在线视频,Social Media,新闻,邮件客户端...

    VincentFF 评论0 收藏0
  • 一道面试引发惨案

    摘要:我们把需要的函数拿出来,看起来会爽的多看到这里是不是就很清晰了简单的构造函数加原型的继承结合上面两问该问题可以这样写回到了用构造函数调用的模式 先把面试题贴出来: //请回答下面函数依次执行出什么; function Foo () { bar = function () { console.log(1) } return this; } Foo....

    avwu 评论0 收藏0

发表评论

0条评论

fantix

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<