說是特點,不如說是缺點
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...