敢挑战这3道|敢挑战这3道 JavaScript 题吗

有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
最近,换了工作,参加了n次面试。过程相对愉快的经历。然而,有一些问题的非常棘手,比如下面这些。
1.意外的全局变量
function crazyFunction() { var a = (b = 10); } crazyFunction(); console.log("b", typeof b === "undefined"); console.log("a", typeof a === "undefined");

2. 视力测试
const numbers = [1, 2, 3]; for (var index = 0; index < numbers.length; index++); { const number = numbers[index]; console.log(number); }

3. 棘手的闭合
let i; for (i = 0; i < 3; i++) { const log = () => { console.log(i); }; setTimeout(log, 100); }

我1 2 题目全错,只答对了第3题目,哭。。。
你有答案了吧,下面揭晓。
1. b false a true 2. undefined 3. 3 3 3

我第一题目的答案是
btrue afalse

刚好相反,完美错过。
我第二题回答的是
1 2 3

大家有没有发现问题所在,没错就是
for (var index = 0; index < numbers.length; index++); // 这里多了分号,真是考察眼力呀

大家对答案有想法的,可以留言分享,我们一起学习。
编辑中可能存在的bug没法实时知道,事后为了解决这些bug,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
交流
有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
【敢挑战这3道|敢挑战这3道 JavaScript 题吗】敢挑战这3道|敢挑战这3道 JavaScript 题吗
文章图片

    推荐阅读