JavaScript 對象


JavaScript 對象是擁有屬性和方法的數據。


真實生活中的對象,屬性和方法

真實生活中,一輛汽車是一個對象。

對象有它的屬性,如重量和顏色等,方法有啟動停止等:

對象 屬性 方法

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

所有汽車都有這些屬性,但是每款車的屬性都不盡相同。

所有汽車都擁有這些方法,但是它們被執行的時間都不盡相同。


JavaScript 對象

在 JavaScript中,幾乎所有的事物都是對象。

Note 在 JavaScript 中,對象是非常重要的,當你理解了對象,就可以瞭解 JavaScript 。

你已經學習了 JavaScript 變數的賦值。

以下代碼為變數 car 設置值為 "Fiat" :

var car = "Fiat";

對象也是一個變數,但對象可以包含多個值(多個變數)。

var car = {type:"Fiat", model:500, color:"white"};

在以上實例中,3 個值 ("Fiat", 500, "white") 賦予變數 car。

在以上實例中,3 個變數 (type, model, color) 賦予變數 car。

Note JavaScript 對象是變數的容器。


對象定義

你可以使用字元來定義和創建 JavaScript 對象:

實例

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

定義 JavaScript 對象可以跨越多行,空格跟換行不是必須的:

實例

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};



對象屬性

可以說 "JavaScript 對象是變數的容器"。

但是,我們通常認為 "JavaScript 對象是鍵值對的容器"。

鍵值對通常寫法為 name : value (鍵與值以冒號分割)。

鍵值對在 JavaScript 對象通常稱為 對象屬性

Note JavaScript 對象是屬性變數的容器。

對象鍵值對的寫法類似於:

  • PHP 中的關聯數組
  • Python 中的字典
  • C 語言中的哈希表
  • Java 中的哈希映射
  • Ruby 和 Perl 中的哈希表

訪問對象屬性

你可以通過兩種方式訪問對象屬性:

實例 1

person.lastName;


實例 2

person["lastName"];



對象方法

對象的方法定義了一個函數,並作為對象的屬性存儲。

對象方法通過添加 () 調用 (作為一個函數)。

該實例訪問了 person 對象的 fullName() 方法:

實例

name = person.fullName();

如果你要訪問 person 對象的 fullName 屬性,它將作為一個定義函數的字串返回:

實例

name = person.fullName;

 

Note JavaScript 對象是屬性和方法的容器。

在隨後的教學中你將學習到更多關於函數,屬性和方法的知識。


訪問對象方法

你可以使用以下語法創建對象方法:

methodName : function() { code lines }

你可以使用以下語法訪問對象方法:

objectName.methodName()

通常 fullName() 是作為 person 對象的一個方法, fullName 是作為一個屬性。

有多種方式可以創建,使用和修改 JavaScript 對象。

同樣也有多種方式用來創建,使用和修改屬性和方法。

Note 在隨後的教學中,你將學習到更多關於對象的知識。


更多實例

創建 JavaScript 對象 I

創建 JavaScript 對象 II

訪問對象屬性 I

訪問對象屬性 II

函數屬性作為一個方法訪問

函數屬性作為一個屬性訪問