示例:下面展示一些**。
console.
log(a)
;// undefined 值不明確
var a =1;
console.
log(b)
;// not defined 沒有定義
let b =2;
console.
log(c)
;// cannot access 找不到
const c =
3;
下面**關於var的變數提公升
functionfn(
)else}fn
()// undefinednum
// 這樣會發現不執行**也會影響執行的**,
//var變數提公升到if前var a;
console.
log(a)
;// not defined
console.
log(b)
;// not defined
const a;
const a =1;
a =2;
var let和const的區別
var let和const的區別 共同點特點 都是用來宣告變數的 var 可以變數提公升 可以重複宣告 沒有塊級作用域 let的特點 1 獨一無二的,不能重複宣告 2 不能變數提公升 3 是乙個塊級作用域if 內部可以訪問,外部不能 let可以解決列印的i值,常用於for迴圈中,也可以使用閉包。co...
var ,let,和 const 的區別
1 塊級作用域 2 不存在變數提公升 3 暫時性死區 4 不可重複宣告 5 let const,宣告的全域性變數不會掛在頂層物件下面 1 const宣告之後必須馬上賦值,否則會報錯 2 const簡單型別一旦宣告就不能更改,複雜的型別 陣列,物件 指標指向的位址不能更改,內部資料可以更改 塊級作用域...
js中var let和const的區別
var 宣告變數,是函式作用域,能重複宣告覆蓋 let 需在js嚴格模式下使用,宣告塊級變數,不能重複宣告覆蓋,限制了變數的作用域,保證變數不會去汙染全域性變數。嚴格模式 在檔案頭新增 use strict use strict function console.log vartest 輸出 var...