ES6標準入門(第三版)學習筆記(1)
阿新 • • 發佈:2018-11-13
ES6宣告變數的六種方法
ES5只有兩種 var,function命令
ES6新增了let,const,class,import命令
驗證var與let用法上的不同
var a = []; for (var i = 0; i < 10; i++){ a[i] = function(){ console.log(i); } } a[4]();
var宣告的i是全域性變數,結果是10
var a = []; for (let i = 0; i < 10; i++){ a[i] = function(){ console.log(i); } } a[4]();
let在for迴圈的作用域內是有效的
a[4]();的結果是4
ES6新增了塊級作用域
外層的程式碼塊不受內部程式碼塊的影響
function f1() { let n = 5; if (true) { let n = 10; } console.log(n); } f1();
f1();的結果為5
function f1() { var n = 5; if (true) { var n = 10; } console.log(n); } f1();
使用var定義n,結果就是10
ES6的塊級作用域內宣告的函式處理規則
- 允許塊級作用域內宣告函式。
- 函式宣告類似var,會提升到全域性作用域或者函式作用域的頭部。
- 函式宣告還會提升到所在的會計作用域的頭部。