W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
另一種易犯的錯(cuò)誤,便是帶著其他編程語(yǔ)言的思維,認(rèn)為在JS中,也存在生命周期這么一說(shuō)。請(qǐng)看下面的代碼:
for (var i = 0; i < 10; i++) { /* ... */ } console.log(i);
如果你認(rèn)為在運(yùn)行console.log() 時(shí)肯定會(huì)報(bào)出 undefined 錯(cuò)誤,那么你就大錯(cuò)特錯(cuò)了。我會(huì)告訴你其實(shí)它會(huì)返回 10嗎。
當(dāng)然,在許多其他語(yǔ)言當(dāng)中,遇到這樣的代碼,肯定會(huì)報(bào)錯(cuò)。因?yàn)閕明顯已經(jīng)超越了它的生命周期。在for中定義的變量在循環(huán)結(jié)束后,它的生命也就結(jié)束了。但是在js中,i的生命還會(huì)繼續(xù)。這種現(xiàn)象叫做 variable hoisting。
而如果我們想要實(shí)現(xiàn)和其他語(yǔ)言一樣的在特定邏輯模塊中具有生命周期的變量,可以用let關(guān)鍵字。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: