ES6中的let和var區別

2022-01-15 03:46:04 字數 494 閱讀 8629

js函式中宣告變數有多種方式:var,let,this

見如下**段

var

xx;function

test()

}

那麼,這三種方式有什麼區別呢?

區別在於作用域不同。

let 宣告的變數作用域為某個**塊。而**塊的長度可大可小。

當按宣告2的方式宣告乙個變數時,該變數的作用範圍於為整個function語句。

當按宣告4方式宣告乙個變數時,該變數的作用範圍為區域性的**塊。

var宣告的變數作用域為整個函式體(當按宣告一的方式宣告變數時);

當var變數宣告在函式外,該var變數的作用域為**整個js檔案週期**(全域性作用域)。

用this宣告的變數作用域也是全域性的。

例項化test函式 var p=new test() ,用p能訪問test函式內的哪些變數呢?

答案是只有cc 。實際上this宣告的變數是作用於上下文的。

es6中 var 和 let的區別

function fn console.log a 輸出10 fn function fn console.log a 報錯,a未定義 fn function fn fn function fn fn 區別1和區別2 社群裡合起來的叫法就是 var會引起變數提公升,let不會!這個就不舉例了,自己去...

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