第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于塊級作用域的問題

關(guān)于塊級作用域的問題

縹緲止盈 2018-08-02 18:54:53
var box = document.querySelector('.box');    for (var i = 0; i < 10; i++) {        var li = document.createElement('li');         li.innerHTML = i;         box.appendChild(li);         li.addEventListener('click',function(){            console.log(i);         })     }這段代碼點(diǎn)擊新生產(chǎn)的li標(biāo)簽全是10,高程書中說,閉包只能取得包含函數(shù)中任何變量的最后一個(gè)值,我理解了很長時(shí)間,不明白原委。第二個(gè)問題是,為什么將i的類型設(shè)置為let就是點(diǎn)擊顯示正常,我知道let是塊級作用域的概念,那為何塊級作用域就能顯示正常呢?有些被繞里了,請大神解釋一下,感激不盡了。
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

1,這其實(shí)是塊級作用域的問題,并沒有涉及到閉包。
2,產(chǎn)生原因在于var與let使用的作用域不同。
var 變量的作用域是全局,而let 是局部的塊作用域即for循環(huán)內(nèi),
全局變量唯一性,var 聲明的變量i在循環(huán)中被不斷覆蓋最終只是唯一的10,因此在外部調(diào)用中無論li的哪一個(gè),最終都是10。
而let是局部的作用域,并不會(huì)被覆蓋。

查看完整回答
反對 回復(fù) 2018-08-04
  • 1 回答
  • 0 關(guān)注
  • 705 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號