为编程爱好者分享易语言教程源码的资源网

网站首页 > 网络编程 > javascript 正文

JavaScript奇葩面试题--当心逗号表达式(javascript经典面试题)

三叶资源网 2022-06-27 javascript 310 ℃ 0 评论

接上一篇文章 程序员们,面试的时候面对这种题可要长点心了!

今天来看下一个问题:

let a = 2;
switch (a) {
 case (3, 2, 5):
 console.log(1);
 case (2, 3, 4):
 console.log(2);
 default:
 console.log(3);
 break;
}

上面的代码会输出什么 ?

答案是 : 3 。

在这里,值得我们了解的知识点就是 “逗号表达式”。

解析

MDN对逗号表达式的解释为 “逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值。”

显然,上面代码中第一个 case 的返回值为5,第二个为4 , 与 变量a的值都不相等,所以最后输出 3 。

下面再来一个题,加深印象:

let i, j;
let result = 0;
for (i = 0, j = 0; i < 2, j < 4; i++, j++) {
 result = i + j;
}
console.log(result);

上面的代码输出结果是 6 。

解析

最重要的就是看循环结束条件,它是由一个逗号表达式 “i<2,j<4”组成,根据上面提到的逗号表达式的特点可知,其实质上等于“j<4”,所以结果是 6 。

Tags:javascript面试题

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
SysDateTimePick32网易云音乐播放器5sing网站邮件大站协议IP地址定位mysql管理工具模拟器中控Edge浏览器图片进度条WS/WSS易语言多线程枚举文件sqlcipher数据库快手注册源码块级元素视频解析鼠标自动点击器小程序聊呗内存操作模块源码
最新评论

公告×

公告1:域名更换通知
公告2:关于部分地区无法访问本站的解决方法
公告3:未登录用户禁止搜索通知