JavaScript 打臉史之 ES6 作用域 (一)
在先前打 ES 標(biāo)準(zhǔn)中,如果未聲明過(guò) a ,在任何位置聲明 a = 1 即聲明了一個(gè) window 下的全局變量 a;
{ a = 1 } for(b=1;b<2;b++){ c = 3 } function x(){ d = 4 } x() console.log(a) //1 console.log(b) //2 console.log(c) //3 console.log(d) //4
而在函數(shù)內(nèi)聲明 var a = 1,a 的作用域在當(dāng)前函數(shù)中,否則 a 的作用域即 window ,并且兩者都會(huì)變量提升;
console.log(a) //undefined console.log(b) //undefined console.log(c) //undefined { var a = 1 } for(var b=1;b<2;b++){ var c = 3 } function x(){ var d = 4 } x() console.log(a) //1 console.log(b) //2 console.log(c) //3 console.log(d) //d is not defined
而當(dāng)我們需要使用閉包,即實(shí)現(xiàn)暴露一個(gè)被隱藏的局部變量的時(shí)候,我們可以這樣來(lái)寫;
function x(){ var a = 1 b = function(){ console.log(a) } } x() b() //1
我們?yōu)榱吮┞兑粋€(gè)隱藏的局部變量,又暴露了一個(gè)全局變量 x ,故繼續(xù)改進(jìn),聲明一個(gè)匿名立即執(zhí)行函數(shù);
(function(){ var a = 1 b = function(){ console.log(a) } }()) b() //1
為了實(shí)現(xiàn)這樣的一個(gè)功能,我們竟需如此大費(fèi)周折。
故,ES6 中的 let 應(yīng)運(yùn)而生。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106898.html
摘要:然而,臨近規(guī)范發(fā)布時(shí),有建議提及未來(lái)的版本號(hào)切換為編年制,比如用同來(lái)指代在年末前被定稿的所有版本??偟脕?lái)說(shuō)就是版本號(hào)不再那么重要了,開始變得更像一個(gè)萬(wàn)古長(zhǎng)青的活標(biāo)準(zhǔn)。 你不知道的JS(下卷)ES6與之未來(lái) 第一章:ES的今與明 在你想深入這本書之前,你應(yīng)該對(duì)(在讀此書時(shí))JavaScript的最近標(biāo)準(zhǔn)掌握熟練,也就是ES5(專業(yè)來(lái)說(shuō)是ES 5.1)。在此,我們決定全方面地談?wù)撽P(guān)于將近的...
摘要:以上是面試中筆試涉及到的知識(shí)點(diǎn)或者后面被問(wèn)到的只是點(diǎn)。也許是根據(jù)薪資和面試的等級(jí)來(lái)出題的。我剛面試完回家,吃了一個(gè)泡面,回憶下面試題。同時(shí)作為傳遞到構(gòu)造函數(shù),執(zhí)行了一次讓構(gòu)造函數(shù)里面的屬性和方法賦值了一份給。 css 如何水平垂直居中,請(qǐng)盡量多說(shuō)幾種方法?很尷尬,我多次面試都被問(wèn)到這個(gè)問(wèn)題,fuck 定位(回答了)、table-cell布局、flex布局、translate+relat...
摘要:以上是面試中筆試涉及到的知識(shí)點(diǎn)或者后面被問(wèn)到的只是點(diǎn)。也許是根據(jù)薪資和面試的等級(jí)來(lái)出題的。我剛面試完回家,吃了一個(gè)泡面,回憶下面試題。同時(shí)作為傳遞到構(gòu)造函數(shù),執(zhí)行了一次讓構(gòu)造函數(shù)里面的屬性和方法賦值了一份給。 css 如何水平垂直居中,請(qǐng)盡量多說(shuō)幾種方法?很尷尬,我多次面試都被問(wèn)到這個(gè)問(wèn)題,fuck 定位(回答了)、table-cell布局、flex布局、translate+relat...
摘要:任務(wù)描述參考以下示例代碼,頁(yè)面加載后,將提供的空氣質(zhì)量數(shù)據(jù)數(shù)組,按照某種邏輯比如空氣質(zhì)量大于進(jìn)行過(guò)濾篩選,最后將符合條件的數(shù)據(jù)按照一定的格式要求顯示在網(wǎng)頁(yè)上污染城市列表第一名福州樣例,第二名福州樣例,北京上海福州廣州成都西安在注 任務(wù)描述 參考以下示例代碼,頁(yè)面加載后,將提供的空氣質(zhì)量數(shù)據(jù)數(shù)組,按照某種邏輯(比如空氣質(zhì)量大于60)進(jìn)行過(guò)濾篩選,最后將符合條件的數(shù)據(jù)按照一定的格式要求顯示...
摘要:源碼的代碼質(zhì)量很高,非常值得我等小輩學(xué)習(xí)。上面的技巧,若有任何不對(duì),歡迎指正,也歡迎補(bǔ)充過(guò)段時(shí)間一定要寫源碼閱讀筆記好怕打臉逃 其實(shí)主要是性能小技巧。 循環(huán)優(yōu)化 循環(huán)體是執(zhí)行最多的,所以要確保其被最大限度的優(yōu)化. //提前計(jì)算好終止條件,存到局部變量中 for(var i=0, j = document.getElementsByTagName(a).length; i b) { ...
閱讀 808·2021-10-14 09:43
閱讀 2133·2021-09-30 09:48
閱讀 3456·2021-09-08 09:45
閱讀 1103·2021-09-02 15:41
閱讀 1898·2021-08-26 14:15
閱讀 786·2021-08-03 14:04
閱讀 2985·2019-08-30 15:56
閱讀 3081·2019-08-30 15:52