3. 變量和常量:
1.1 變量的聲明: js三種方式聲明變量,聲明不賦值時,默認值爲underfined。
(1)var聲明:var name='Ace',同時聲明多個變量var a=1,b=2,c=3;
(2)let聲明:let name='Ace',ES6中新語法,用let代替var聲明變量,避免在統一作用域(即js中以‘{}’形成的塊級作爲作用域)下聲明提前,不允許同一作用域下let聲明多個相同的變量名。
1.2 變量名的命名規範:
(1)不能使用js語言的關鍵字和保留關鍵字。
(2)變量名只能由字母,數字,_和$四種組成。
(3)變量名不能以數字開頭,儘量不用name,不要和html的name衝突。
(4)儘量見(變量名)名知意(變量代表的意思)。
(5)可以採用‘駝峯命名法’和‘下劃線命名法’。
1.3 變量名的使用:
(1)聲明變量未賦值,默認值underfined。
(2)使用未聲明過的變量,語法錯誤。
(3)var聲明的變量,存在聲明提前的情況,let聲明的變量不存在。
(4)var聲明的變量,存在聲明提前,若提前使用該變量返回underfined爲賦值。let聲明的變量,不存在聲明提前,若提前使用該變量會報錯。
console.log(a) //結果:underfined。js在代碼執行之前,會預加載,對於var聲明的變量,也會預加載,即這裏打印的結果是underfined,因爲var 聲明的變量提前了,但是沒有提前賦值。
var a='Ace'
console.log(b) //結果:報錯Uncaught ReferenceError: Cannot access 'b' before initialization。
let b='Ace'
1.4 常量:
(1)定義:一經聲明就不允許修改的數據爲常量。
(2)聲明:const 常量名=值; // 所有編程語言的常量名都採用全大寫的方式來聲明。
const P='Ace'
P='Alice' //報錯,常量 無法再次修改賦值。