變量是用於存儲信息的"容器"。

在 JavaScript 中,變量用於存儲數據,並可以在程序執行過程中動態更改。

在 JavaScript 中,變量可以存儲各種類型的數據,如數字、字符串、對象、函數等。

變量名是標識符,用於引用存儲在變量中的數據。

在 JavaScript 中,可以使用 varlet 和 const 關鍵字來聲明變量。

  • var:ES5 引入的變量聲明方式,具有函數作用域。
  • let:ES6 引入的變量聲明方式,具有塊級作用域。
  • const:ES6 引入的常量聲明方式,具有塊級作用域,且值不可變。

實例

var x=5; var y=6; var z=x+y;


嘗試一下 »

就像代數那樣

x=5
y=6
z=x+y

在代數中,我們使用字母(比如 x)來保存值(比如 5)。

通過上面的表達式 z=x+y,我們能夠計算出 z 的值為 11。

在 JavaScript 中,這些字母被稱為變量。 

您可以把變量看做存儲數據的容器。



JavaScript 變量

與代數一樣,JavaScript 變量可用於存放值(比如 x = 5)和表達式(比如 z = x + y)。

變量可以使用短名稱(比如 x 和 y),也可以使用描述性更好的名稱(比如 age, sum, totalvolume)。

  • 變量必須以字母開頭
  • 變量也能以 $ 和 _ 符號開頭(不過我們不推薦這麼做)
  • 變量名稱對大小寫敏感(y 和 Y 是不同的變量)

JavaScript 語句和 JavaScript 變量都對大小寫敏感。



JavaScript 數據類型

JavaScript 變量還能保存其他數據類型,比如文本值 (name="Bill Gates")。

在 JavaScript 中,類似 "Bill Gates" 這樣一條文本被稱為字符串。

JavaScript 變量有很多種類型,但是現在,我們只關注數字和字符串。

當您向變量分配文本值時,應該用雙引號或單引號包圍這個值。

當您向變量賦的值是數值時,不要使用引號。如果您用引號包圍數值,該值會被作為文本來處理。

實例

var pi=3.14; // 如果你熟悉 ES6,pi 可以使用 const 關鍵字,表示一個常量 // const pi = 3.14; var person="John Doe"; var answer='Yes I am!';


嘗試一下 »


聲明(創建) JavaScript 變量

在 JavaScript 中創建變量通常稱為"聲明"變量。

我們使用 var 關鍵詞來聲明變量:

var carname;

變量聲明之後,該變量是空的(它沒有值)。

如需向變量賦值,請使用等號:

carname="Volvo";

不過,您也可以在聲明變量時對其賦值:

var carname="Volvo";

在下面的例子中,我們創建了名為 carname 的變量,並向其賦值 "Volvo",然後把它放入 id="demo" 的 HTML 段落中:

實例

var carname="Volvo"; document.getElementById("demo").innerHTML=carname;


嘗試一下 »

var 聲明特點:

  • 變量可以重複聲明(覆蓋原變量)。
  • 變量未賦值時,默認值為 undefined。
  • var 聲明的變量會提升(Hoisting),但不會初始化。


一個好的編程習慣是,在代碼開始處,統一對需要的變量進行聲明。



一條語句,多個變量

您可以在一條語句中聲明很多變量。該語句以 var 開頭,並使用逗號分隔變量即可:

var lastname="Doe", age=30, job="carpenter";

聲明也可橫跨多行: 

var lastname="Doe",
age=30,
job="carpenter";

一條語句中聲明的多個變量不可以同時賦同一個值:

var x, y, z = 1;

x, y 為 undefined, z 為 1。



Value = undefined

在計算機程序中,經常會聲明無值的變量。未使用值來聲明的變量,其值實際上是 undefined

在執行過以下語句後,變量 carname 的值將是 undefined:

var carname;



重新聲明 JavaScript 變量

如果重新聲明 JavaScript 變量,該變量的值不會丟失:

在以下兩條語句執行後,變量 carname 的值依然是 "Volvo":

var
carname="Volvo"; 
var carname;



JavaScript 算數

您可以通過 JavaScript 變量來做算數,使用的是 = 和 + 這類運算符:

實例

y=5; x=y+2;


嘗試一下 »


使用 let 和 const (ES6)

在 2015 年以前,我們使用 var 關鍵字來聲明 JavaScript 變量。

在 2015 後的 JavaScript 版本 (ES6) 允許我們使用 const 關鍵字來定義一個常量,使用 let 關鍵字定義的限定範圍內作用域的變量。

let

let 是 ES6 引入的新變量聲明方式,推薦使用。

let 語法:

let variableName = value;

實例

let city = "北京";
let age = 30;
console.log(city, age); // 輸出: 北京 30

const

const 用於定義常量,即一旦賦值後,變量的值不能再被修改。

const 語法:

const variableName = value;

實例

const z = 10;
// z = 20; // 報錯,常量不可重新賦值
if (true) {
    const z = 20; // 不同的常量
    console.log(z); // 輸出 20
}
console.log(z); // 輸出 10

更多 const 和 let 內容可以參閲:JavaScript let 和 const。

Safari 10 和 Edge 14 是第一批支持 ES6 所有特性的瀏覽器:

Chrome 58

Edge 14

Firefox 54

Safari 10

Opera 55

Jan 2017

Aug 2016

Mar 2017

Jul 2016

Aug 2018

您將在本教程稍後的章節學到更多有關 JavaScript 運算符的知識。