塊級作用域

es5中只有函數(shù)作用域和全局作用域,沒有塊級作用域,會出先問題:

1, 變量提升會導(dǎo)致內(nèi)層變量會覆蓋外層變量,

var i =? 5;

function new(){

console.log(i)

if(true)? {

var? i? =? 8;

}

}

new()//undefined

2,計數(shù)的循環(huán)為全局循環(huán)

ES6的塊級作用域

es6的塊級作用域允許任意嵌套。外部作用域無法讀到內(nèi)部作用域的變量。

let? i? =? 2;

{let? i? =? 4}


ES6中的塊級作用域,明確允許在塊級作用域中聲明變量。

ES6中,函數(shù)的聲明的行為為let,? 作用域外就不能引用。

ES6中函數(shù)聲明可以提到函數(shù)作用域的頭部。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容