Javascript ES6 let 和 var 比較
阿新 • • 發佈:2019-02-20
JavaScript ES6 的 let 和 var 的比較
在JavaScript 1.7中, let 關鍵詞被新增進來, 我聽說它宣告之後類似於”本地變數“, 但是我仍然不確定它和 關鍵詞 var 的具體區別。
回答:
不同點在於作用域, var關鍵詞的作用域是最近的函式作用域(如果在函式體的外部就是全域性作用域), let 關鍵詞的作用域是最接近的塊作用域(如果在任何塊意外就是全域性作用域),這將會比函式作用域更小。
同樣, 像var 一樣, 使用let 宣告的變數也會在其被宣告的地方之前可見。
下面是Demo 例子。
全域性(Global)
當在函式體之外它們是平等的。
let me = 'go'; //globally scoped
var i = 'able'; //globally scoped
函式(Function)
當瞎下面這種, 也是平等的。
function ingWithinEstablishedParameters() { let terOfRecommendation = 'awesome worker!'; //function block scoped var sityCheerleading = 'go!'; //function block scoped };
塊(Block)
這是不同點, let 只是在 for 迴圈中, var 卻是在整個函式都是可見的。
文章出處: Javascript - “let” keyword vs “var” keywordfunction allyIlliterate() { //tuce is *not* visible out here for( let tuce = 0; tuce < 5; tuce++ ) { //tuce is only visible in here (and in the for() parentheses) }; //tuce is *not* visible out here }; function byE40() { //nish *is* visible out here for( var nish = 0; nish < 5; nish++ ) { //nish is visible to the whole function }; //nish *is* visible out here };