定義變量方式有var,let,const,變量的類型是根據變量的值來確定,變量的名稱跟大多數語言一樣,包含數字字母_$@,不能以數字開頭且區分大小寫。
var 最早的定義變量的方式,可重復定義,但請避免這樣做。
var a = 1;
var a = '*';
let 用來定義變量,類似var,但區別是同一個變量名只能定義一次,為了避免變量提升。
let b = 2;
const 用來定義常量,值是不可以在修改的。
const?pi = 3.1415
?
變量提升:[行號開始記為L0]
var demo = 12;
function test(){
console.log(demo);
var demo = '***';
}
test();
上面的代碼 L1:定義了一個變量demo,當我們調用test時候L3輸出demo的值,但是在test里面也有定義demo,所以我們test調用的時候使用的是里面定義的那個demo。
可能你會說里面的demo在輸出的時候還沒有定義,但由于變量提升test代碼實際相當于下面的:
function test(){
var demo;
console.log(demo);
demo = '***';
}
所以我們在定義函數內部變量的時候請盡可能放在前面。
?