敢挑戰這3道 JavaScript 題嗎

前端小智發表於2022-06-27

有夢想,有乾貨,微信搜尋 【大遷世界】 關注這個在凌晨還在刷碗的刷碗智。

本文 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 已收錄,有一線大廠面試完整考點、資料以及我的系列文章。

相關文章