es6中 var 和 let的區別

2022-05-14 04:27:08 字數 824 閱讀 3201

function

fn()

console.log(a)

//輸出10

}fn()

function

fn()

console.log(a)

//報錯,a未定義

}fn()

function

fn()

fn()

function

fn()

fn()

區別1和區別2 社群裡合起來的叫法就是:var會引起變數提公升,let不會

這個就不舉例了,自己去試。

let a = 5;

var b = 6;

console.log(window.a, window.b)

//輸出undefined,6

for (let i = 0; i < 10; i++) , 10);

}

for (var i = 0; i < 10; i++) , 10);

}

在給結論前,先看另外兩個關於let的例子:

let i = 0

for (; i < 10; i++) , 10);

}

for (let i = 0; i < 10; ) , 10);

i++}

當 i 在迴圈中的塊級作用域時,每次迴圈都會建立乙個全新的變數,並且鎖定乙個獨立的作用域。

ES6中的let和var區別

js函式中宣告變數有多種方式 var,let,this 見如下 段 var xx function test 那麼,這三種方式有什麼區別呢?區別在於作用域不同。let 宣告的變數作用域為某個 塊。而 塊的長度可大可小。當按宣告2的方式宣告乙個變數時,該變數的作用範圍於為整個function語句。當按...

ES6中let和var的區別

var 宣告的變數往往會越域 let 宣告的變數有嚴格區域性作用域 console.log a 1 console.log b uncaught referenceerror b is not defined var可以宣告多次 let只能在乙個作用域中宣告一次 var a 1 var a 2 le...

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 ...