var let const宣告變數的區別

2021-09-24 08:02:08 字數 1239 閱讀 7227

說是特點,不如說是缺點

var在全域性宣告的變數會自動掛載到頂層物件window

var宣告變數,存在變數提公升的現象

console.log(a);//undefined

var a = 1;

console.log(a);//1

複製**

// 以上**可以這樣理解

var a;

console.log(a);

a = 1;

console.log(1);

複製**

var會先將宣告變數的操作放在作用域的頂部,之後再執行賦值等操作 因為**存在變數提公升,變數可以先使用再宣告,造成**可讀性非常糟糕!

var可以重複宣告變數

該特性,在團隊協作開發時,很可能造成**汙染。後乙個人將前乙個人宣告的變數重新賦予新的含義。這可能會造成不可預計的後果

es6的新規範,let則完美解決了var宣告變數缺點

let宣告的變數不會掛載在window

let宣告變數,存在暫時性死區let宣告的變數在宣告之前使用會報錯

console.log(a);

let a = 1;//uncaught referenceerror: a is not defined

複製**

let不可以重複宣告變數

let a = 1;

let a = 2;//uncaught syntaxerror: identifier 'a' has already been declared

複製**

let宣告變數的特點,const全都有

const宣告的是乙個常量,不可以被重新賦值

const a = 1;

a = 2;//assignment to constant variable.

複製**

const宣告的常量,必須賦初始值

js關於變數宣告 var let const 區別

關於定義 宣告 變數 es6之前定義變數是用 var 那麼var有什麼問題嗎,如果但但從變數上來說是沒有問題的,var是variable的縮寫,英文翻譯是變數。var問題 1.汙染全域性 之前定義迴圈的方式 for var i 0 i 10 i alert i 有一天突然運營檔案,這個時候彈出的是 ...

js變數 var let const的區別

js變數 var let const的區別 1.基本區別 1 var a 10 2 a 15 3 var a 20 是可以的,var可以重複定義重複賦值 1 let a 10 2 a 15 3 let a 20 步驟 3 就是不可以的,let不能重複定義,但是可以重複賦值 1 const a 10 ...

宣告變數 如果同時宣告多個變數

如果同時宣告多個變數,可以用以下語句 也可以按如下宣告 dim a as integer,b as integer,c as integer但是不可以按如下宣告 dim a,b,c as integer 如果這樣操作,僅有c宣告正確。如何檢查是否宣告成功呢?可以使用typename函式來判斷。msg...