ES6 var與let的區別

2021-07-30 21:27:34 字數 706 閱讀 7425

相同點:宣告變數。

不同點:

1、let宣告的變數只在let命令所在的**塊內有效。

for (var i=0; i<5; i++)

alert(a); //列印出 1;

alert(b); //報錯 b is not defined;

2、let不存在變數提公升。

console.log(a);

var a = 2; //列印 undefind(定義了未賦值)

console.log(b);

let b = 3; //報錯。b is

not defined(未定義)

3、let會造成暫時性死區。

var a = 2;

if (true)

4、let不允許在相同的作用域內重複宣告同乙個變數。

function

()

function

()

因此,不能在函式內部重新宣告引數。

function

func

(a)

function

func

(a)

}

ES6 var和let和const的區別

console.log a 10 在執行前會先進行變數提公升,提公升到全域性作用域最頂層,實際執行 如下 var a undefined console.log a foo function foo 這裡的函式是先呼叫後宣告,在執行之前會進行變數提公升和函式提公升,實際執行 如下 function ...

Es6中let與var區別

let用法類似於var,但是所宣告的變數,只在let命令所在的 塊內有效。for let i 0 i 10 i let與for完美搭配,只在迴圈體內有效function f1 console.log n 5 外層 不受內層 的影響例 var var a for var i 0 i 10 i a 6 ...

ES6中let與var的區別

for let i 0 i 10 i console.log i referenceerror i is not defined 計數器i只在for迴圈體內有效,在迴圈體外引用就會報錯。var 的情況 console.log foo 輸出undefined var foo 2 相當於 var foo...