比如
for(let i=0;i<5;i++){}
console.log(i);//報錯
但是用var
for(var i=0;i<5;i++){}
console.log(i);//正常列印
還有一種現象看看兩者之間的區別,那就是有延時的時候。
console.log(b);//可以列印出undefined
var b;
b="name";
console.log(b);//可以列印出name
var b;
乙個塊內如果定義了乙個let變數那麼這個變數就繫結在這個區域內了。只在這個塊內有效。如果在這個區域沒有定義就使用是會報錯的。
var a="name";
for()
// 報錯
function func()
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 全域性作用域 指的是,在全域性範圍下定義 不在函...