var和let使用上的對比

2022-05-03 23:21:17 字數 588 閱讀 9236

var和let比較

1. let沒有預解析,不存在變數提公升。

在**塊中,只要let定義變數,在之前使用,都是報錯。

先定義完再使用。

1 let a = 12;

2function

fn()

6 fn();//

uncaught referenceerror: a is not defined

2. let在相同作用域內,不能重複定義變數

1

let a;

2let a;3//

identifier 'a' has already been declared4//

a已經被定義

在相同的作用域內:下面 a = 12 和 a = 5 不再同一塊級作用域內。

1

6console.log(a);//12

7 }

3. let在for迴圈,for迴圈裡面是父級作用域,裡面迴圈體是子集作用域

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

//執行了10次abcd。

let 和 var 的區別

1 作用域只侷限於當前 塊 if true console.log str console.log str1 str1 is not defined2 let宣告的作用於不會被提公升 console.log str var str 1 console.log str1 str1 is not def...

var和let的區別

在es6中新增了let命令,用來宣告變數。它的用法類似於var,但是所宣告的變數,只在let命令所在的 塊內有效。let let所在的區域會形成塊級作用域 let不存在變數提公升的情況 let會形成暫時性的死區 不可以在同一作用域下重複宣告變數 var 在es6之前 都是用var 宣告變數,只有函式...

var 和 let 的區別

var 和 let 都是存在 函式作用域以及全域性作用域的 但是 let 多了乙個 塊級作用域 而 var 則可以對同乙個變數重複多次定義,每次定義取最新值 函式作用域 指的是,在函式裡面定義的變數只能在函式裡面使用,出了函式外面就undefined 全域性作用域 指的是,在全域性範圍下定義 不在函...