欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript最新2020經(jīng)典面試題

 更新時間:2020年02月20日 15:08:12   作者:haonanElva  
這篇文章主要介紹了javascript最新2020經(jīng)典面試題的相關(guān)內(nèi)容,有需要的朋友們可以學習下。

let 和 var

(a): let 聲明的變量只在 let 命令所在的代碼塊內(nèi)有效

(b): let 是在代碼塊內(nèi)有效,var 是在全局范圍內(nèi)有效:

(c): let 不存在變量提升,var 會變量提升:

for (var i = 0; i < 10; i++) {
 setTimeout(function(){
  console.log(i);
 })
}
// 輸出十個 10
for (let j = 0; j < 10; j++) {
 setTimeout(function(){
  console.log(j);
 })
}
// 輸出 0123456789

解析

變量 i 是用 var 聲明的,在全局范圍內(nèi)有效,所以全局中只有一個變量 i, 每次循環(huán)時,setTimeout 定時器里面的 i 指的是全局變量 i ,而循環(huán)里的十個 setTimeout 是在循環(huán)結(jié)束后才執(zhí)行,所以此時的 i 都是 10。

變量 j 是用 let 聲明的,當前的 j 只在本輪循環(huán)中有效,每次循環(huán)的 j 其實都是一個新的變量,所以 setTimeout 定時器里面的 j 其實是不同的變量,即最后輸出 12345。(若每次循環(huán)的變量 j 都是重新聲明的,如何知道前一個循環(huán)的值?這是因為 JavaScript 引擎內(nèi)部會記住前一個循環(huán)的值)。

以上就是javascript最新2020經(jīng)典面試題的詳細內(nèi)容,更多關(guān)于javascript常見面試題請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論