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

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

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

let 和 var

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

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

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

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

解析

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

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

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

相關(guān)文章

最新評(píng)論