敢挑战这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
我第一题目的答案是
b true
a false
刚好相反,完美错过。
我第二题回答的是
1
2
3
大家有没有发现问题所在,没错就是
for (var index = 0; index < numbers.length; index++); // 这里多了分号,真是考察眼力呀
大家对答案有想法的,可以留言分享,我们一起学习。
编辑中可能存在的bug没法实时知道,事后为了解决这些bug,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
交流
有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
转载自:https://segmentfault.com/a/1190000041995383