- JavaScript從入門到精通(微視頻精編版)
- 明日科技
- 1844字
- 2020-09-01 15:02:20
2.2 常量和變量

視頻講解
每一種計算機語言都有自己的數據結構。在JavaScript中,常量和變量是數據結構的重要組成部分。本節將介紹常量和變量的概念以及變量的使用方法。
2.2.1 常量
常量是指在程序運行過程中保持不變的數據。例如,123是數值型常量,“JavaScript腳本”是字符串型常量,true或false是布爾型常量等。在JavaScript腳本編程中可直接輸入這些值。
2.2.2 變量
變量是指程序中一個已經命名的存儲單元,它的主要作用就是為數據操作提供存放信息的容器。變量是相對常量而言的。常量是一個不會改變的固定值,而變量的值可能會隨著程序的執行而改變。變量有兩個基本特征,即變量名和變量值。為了便于理解,可以把變量看作是一個貼著標簽的盒子,標簽上的名字就是這個變量的名字(即變量名),而盒子里面的東西就相當于變量的值。對于變量的使用必須明確變量的命名、變量的聲明、變量的賦值以及變量的類型。
1.變量的命名
JavaScript變量的命名規則如下。
必須以字母或下畫線開頭,其他字符可以是數字、字母或下畫線。
變量名不能包含空格或加號、減號等符號。
JavaScript的變量名是嚴格區分大小寫的。例如,UserName與username代表兩個不同的變量。
不能使用JavaScript中的關鍵字。JavaScript中的關鍵字如表2.2所示。
表2.2 JavaScript的關鍵字

說明
JavaScript關鍵字(Reserved Words)是指在JavaScript語言中有特定含義,成為JavaScript語法中一部分的那些字。JavaScript關鍵字是不能作為變量名和函數名使用的。使用JavaScript關鍵字作為變量名或函數名,會使JavaScript在載入過程中出現語法錯誤。
說明
雖然JavaScript的變量可以任意命名,但是在進行編程時,最好還是使用便于記憶、且有意義的變量名稱,以增加程序的可讀性。
2.變量的聲明
在JavaScript中,JavaScript變量由關鍵字var聲明,語法格式如下:
var variablename;
variablename是聲明的變量名,例如,聲明一個變量username,代碼如下:
var username; //聲明變量username
另外,可以使用一個關鍵字var同時聲明多個變量,例如:
var a,b,c; //同時聲明a、b和c 3個變量
3.變量的賦值
在聲明變量的同時也可以使用等于號(=)對變量進行初始化賦值,例如,聲明一個變量lesson并對其進行賦值,值為一個字符串“零基礎學JavaScript”,代碼如下:
var lesson="零基礎學JavaScript"; //聲明變量并進行初始化賦值
另外,還可以在聲明變量之后再對變量進行賦值,例如:
01 var lesson; //聲明變量 02 lesson="零基礎學JavaScript"; //對變量進行賦值
在JavaScript中,變量可以不先聲明而直接對其進行賦值。例如,給一個未聲明的變量賦值,然后輸出這個變量的值,代碼如下:
01 str = "這是一個未聲明的變量"; //給未聲明的變量賦值 02 document.write(str); //輸出變量的值
運行結果為:
這是一個未聲明的變量
雖然在JavaScript中可以給一個未聲明的變量直接進行賦值,但是建議在使用變量前就對其聲明,因為聲明變量的最大好處就是能及時發現代碼中的錯誤。由于JavaScript是采用動態編譯的,而動態編譯是不易于發現代碼中的錯誤的,特別是變量命名方面的錯誤。
說明
(1)如果只是聲明了變量,并未對其賦值,則其值默認為undefined。
(2)可以使用var語句重復聲明同一個變量,也可以在重復聲明變量時為該變量賦一個新值。
例如,聲明一個未賦值的變量a和一個進行重復聲明的變量b,并輸出這兩個變量的值,代碼如下:
01 var a; //聲明變量a 02 var b = "你好JavaScript"; //聲明變量b并初始化 03 var b = "零基礎學JavaScript"; //重復聲明變量b 04 document.write(a); //輸出變量a的值 05 document.write("<br>"); //輸出換行標記 06 document.write(b); //輸出變量b的值
運行結果為:
undefined 零基礎學JavaScript
注意
在JavaScript中的變量必須要先定義(用var關鍵字聲明或給一個未聲明的變量直接賦值)后使用,沒有定義過的變量不能直接使用。
4.變量的類型
變量的類型是指變量的值所屬的數據類型,可以是數值型、字符串型和布爾型等,因為JavaScript是一種弱類型的程序語言,所以可以把任意類型的數據賦值給變量。
例如,先將一個數值型數據賦值給一個變量,在程序運行過程中,可以將一個字符串型數據賦值給同一個變量,代碼如下:
01 var num=100; //定義數值型變量 02 num="有一條路,走過了總會想起" ; //定義字符串型變量
【例2.04】科比·布萊恩特是前NBA最著名的籃球運動員之一。將科比的別名、身高、總得分、主要成就以及場上位置分別定義在不同的變量中,并輸出這些信息,關鍵代碼如下:(實例位置:資源包\源碼\02\2.04)
01 <script type="text/javascript"> 02 var alias = "小飛俠"; //定義別名變量 03 var height = 198; //定義身高變量 04 var score = 33643; //定義總得分變量 05 var achievement = "五屆NBA總冠軍"; //定義主要成就變量 06 var position = "得分后衛/小前鋒"; //定義場上位置變量 07 document.write("別名:"); //輸出字符串 08 document.write(alias); //輸出變量alias的值 09 document.write("<br>身高:"); //輸出換行標記和字符串 10 document.write(height); //輸出變量height的值 11 document.write("厘米<br>總得分:"); //輸出換行標記和字符串 12 document.write(score); //輸出變量score的值 13 document.write("分<br>主要成就:"); //輸出換行標記和字符串 14 document.write(achievement); //輸出變量achievement的值 15 document.write("<br>場上位置:"); //輸出換行標記和字符串 16 document.write(position); //輸出變量position的值 17 </script>
實例運行結果如圖2.6所示。

圖2.6 輸出球員信息