變量用于存儲(chǔ)數(shù)據(jù),例如文本字符串,數(shù)字等。
標(biāo)準(zhǔn)JavaScript中的變量沒(méi)有附加類(lèi)型,任何值都可以存儲(chǔ)在任何變量中。
可以在需要時(shí)設(shè)置,更新和檢索存儲(chǔ)在變量中的數(shù)據(jù)或值。通常,變量是值的符號(hào)名稱(chēng)。
您可以使用var關(guān)鍵字創(chuàng)建變量,而賦值運(yùn)算符(=)用于為變量賦值。
在此示例x,y和z是變量:
var x = 20; var y = 30; var z = x + y;測(cè)試看看?/?
所有JavaScript變量必須使用唯一的名稱(chēng)標(biāo)識(shí)。
這些唯一的名稱(chēng)稱(chēng)為標(biāo)識(shí)符。
這些是命名JavaScript變量的以下規(guī)則:
變量名稱(chēng)必須以字母,下劃線(_)或美元符號(hào)($)開(kāi)頭
變量名稱(chēng)不能以數(shù)字開(kāi)頭
變量名稱(chēng)只能包含字母數(shù)字字符(A-z,0-9)和下劃線
變量名稱(chēng)不能包含空格
變量名稱(chēng)不能是JavaScript關(guān)鍵字或JavaScript保留字
注意: JavaScript標(biāo)識(shí)符區(qū)分大小寫(xiě)。
在JavaScript中創(chuàng)建變量稱(chēng)為“聲明”變量。
您使用var關(guān)鍵字聲明一個(gè)JavaScript變量:
var city;
聲明后,變量為undefined(無(wú)值)。
要將值賦給變量,請(qǐng)使用等號(hào):
city = "New Delhi";
您還可以在聲明變量時(shí)為其賦值:
var city = "New Delhi";
在下面的示例中,我們創(chuàng)建一個(gè)名為city的變量,并為其分配值“ New Delhi”。
然后,我們?cè)趇d="para"的段落中顯示值:
<p id="para"></p> <script> var city = "New Delhi"; document.getElementById("para").innerHTML = city; </script>測(cè)試看看?/?
您還可以聲明多個(gè)變量并在單個(gè)語(yǔ)句中設(shè)置其初始值。每個(gè)變量都用逗號(hào)分隔。
var x = 10, y = 15, z = 5;測(cè)試看看?/?
聲明可以跨越多行:
var x = 10, y = 15, z = 5;測(cè)試看看?/?
您可以將值重新賦值給JavaScript變量。
var x = 10; document.writeln(x); x = 50; document.writeln(x); x = "Helo world"; document.writeln(x);測(cè)試看看?/?
如果您重新聲明一個(gè)JavaScript變量,它將不會(huì)丟失其值。
執(zhí)行以下語(yǔ)句后,變量城市仍將具有值“ New Delhi”:
var city = "New Delhi"; var city;測(cè)試看看?/?
JavaScript變量可以包含數(shù)字(如123)和文本值(如“ Hello World”)。
JavaScript可以處理多種類(lèi)型的數(shù)據(jù),但是現(xiàn)在,僅考慮數(shù)字和字符串。
JavaScript不會(huì)區(qū)分整數(shù)值和浮點(diǎn)值。
字符串用雙引號(hào)或單引號(hào)引起來(lái)。數(shù)字不帶引號(hào)。
如果在引號(hào)中加上數(shù)字,它將被視為文本字符串。
const PI = 3.14; var msg = "Hello World"; var city = 'New Delhi';測(cè)試看看?/?
在本教程的后面,您將學(xué)到更多關(guān)于數(shù)據(jù)類(lèi)型的信息。
ES6引入了兩個(gè)新關(guān)鍵字let和const用于聲明變量。
let允許你聲明了在作用域上不限于所述塊,語(yǔ)句,或在其上使用的表達(dá)變量。
塊作用域定義意味著在一對(duì)大括號(hào)之間創(chuàng)建新的作用域{...}。
var y = 20; // y在這里是 20 { let y = "world"; // y在這里是 "world" } // y在這里是 20測(cè)試看看?/?
const關(guān)鍵字聲明一個(gè)只讀的命名常量。
常量的值不能通過(guò)重新分配而更改,也不能重新聲明。
常量是塊范圍的,非常類(lèi)似于使用let關(guān)鍵字定義的變量。
const MY_AGE = 120;測(cè)試看看?/?
undefined值表示尚未為變量分配值,或者根本沒(méi)有聲明變量。
執(zhí)行以下語(yǔ)句后,變量city將具有值undefined:
var city;測(cè)試看看?/?
變量的范圍是程序在其中定義的區(qū)域。JavaScript變量只有兩個(gè)范圍。
全局變量 - 全局變量具有全局作用域,這意味著可以在JavaScript代碼中的任何位置定義它。
局部變量 - 局部變量?jī)H在定義它的函數(shù)中可見(jiàn)。
在函數(shù)體內(nèi),局部變量?jī)?yōu)先于具有相同名稱(chēng)的全局變量。如果聲明與全局變量同名的局部變量或函數(shù)參數(shù),則可以有效地隱藏全局變量。
var myVar = "global"; // 聲明一個(gè)全局變量 function checkScope() { var myVar = "local"; // 聲明局部變量 document.getElementById("para").innerHTML = myVar; }測(cè)試看看?/?
您將在本教程的后面部分了解有關(guān)變量作用域的更多信息。
下表列出了JavaScript中所有保留字的列表。
它們不能用作JavaScript變量,函數(shù),方法或任何對(duì)象名稱(chēng)。
abstract | else | instanceof | switch |
boolean | enum | int | synchronized |
break | export | interface | this |
byte | extends | long | throw |
case | false | native | throws |
catch | final | new | transient |
char | finally | null | true |
class | float | package | try |
const | for | private | typeof |
continue | function | protected | var |
debugger | goto | public | void |
default | if | return | volatile |
delete | implements | short | while |
do | import | static | with |
double | in | super |