ES6中let和var的區別

2022-06-29 19:09:08 字數 715 閱讀 5115

// var 宣告的變數往往會越域

// let 宣告的變數有嚴格區域性作用域

console.log(a); //1

console.log(b); //uncaught referenceerror: b is not defined

// var可以宣告多次

// let只能在乙個作用域中宣告一次

var a = 1;

var a = 2;

let b = 1;

let b = 2;

console.log(a); //2

console.log(b); //uncaught syntaxerror: identifier 'b' has already been declared

// var 會變數提公升

// let 不存在變數提公升

console.log(a); //undefined

var a = 1;

console.log(b); //uncaught referenceerror: cannot access 'b' before initialization

let b = 1;

es6的let讓js真正擁有了塊級作用域,也是向這更安全更規範的路走,雖然加了很多約束,但是都是為了讓我們更安全的使用和寫**。

ES6中的let和var區別

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

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區別

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