let命令javascript
let 聲明的變量只在它所在的代碼塊有效。java
//let 聲明 只在當前做用域有效 var a = []; for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); // 6 //var 聲明 在全局做用域有效 var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); // 10
let 不存在變量提高,在let聲明以前使用變量,會報錯ReferenceErrores6
// var 的狀況 console.log(foo); // 輸出undefined var foo = 2; // let 的狀況 console.log(bar); // 報錯ReferenceError let bar = 2;
let 不容許重複聲明數組
// 報錯 function () { let a = 10; var a = 1; } // 報錯 function () { let a = 10; let a = 1; }
不能在函數內部從新聲明參數數據結構
function func(arg) { let arg; // 報錯 } function func(arg) { { let arg; // 不報錯 } }
const 命令函數