网络日志

敢挑战这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 已收录,有一线大厂面试完整考点、资料以及我的系列文章。