let允許你聲明一個作用域被限制在塊級中的變量、語句或者表達式。在一個作用域裏,只允許你聲明一次不允許再次聲明。
例1 :
(function fun1(){
let a = 3 ;console.log( a ); //輸出3
})();
(function fun2(){
var a = 3 ;
var a = 6 ;
console.log( a ); //輸出6
})();
(function fun3(){
let a = 3 ; //在另一個作用域裏let聲明a變量,正常
let a = 6 ; //在同一個作用域重複聲明a變量,報錯
var a = 6 ; //在同一個作用域重複聲明a變量,報錯
console.log( a );
})();
例2:
(function fun1(){
var a = 3 ;let a = 3 ; //變量a已被聲明過,報錯
console.log( a );
})();
由上述例子可見let在局部作用域中聲明變量只能是唯一的,其變量不能被聲明過,也不能再次聲明。
let循環 for (let i=0; i<10; i++) { console.log( i ); } 或 let j; for (j=0; j<10; j++) { let i = j; // 每個迭代重新綁定! console.log( i ); }
let循環 避免變量不必要的耗費