【JavaScript 新手筆記】【1】物件

瞭解 JavaScript 物件、屬性、與方法之定義。

一、物件的定義

我們可以先看看 w3school 上寫的。

JavaScript objects are containers for named values.

短短的一句話,說明了 JavaScript 物件:

  • 是個容器(Container)。
  • Name Value Pairs 組合。

 譬如:

Car = "Fiat";

Car 是「名稱 Name」(或稱為變數),Fiat 是「值 Value」,這兩個組合在一起,就是一個物件。

當然,值(Value)不只是簡單的字串、數值、布林… 等,也可能是另一組 Name Value Pairs(另一個物件)。

person = {
    Name: {
        firstName: "James",
        lastName: "Wang"
    },
    age: 18,
    eyeColor: "Brown"
};

定義總結:

  1. JavaScript 物件是容器(Container)
  2. Name Value Pairs 組合
  3. Value 可能是另外一組物件

 

二、屬性(property)

一樣先看看 w3school 上寫的。

The name:values pairs (in JavaScript objects) are called properties.

 JavaScript 物件下的 name:values 就是屬性。

以上面person為例子,person 物件下有一個屬性 age,屬性值為 18。

person.age; -- 屬性(property),執行後得到 18

 

三、方法(method)

一樣先看看 w3school 上寫的。

Methods are actions that can be performed on objects.
Methods are stored in properties as function definitions.

 我們調整上面 person 範例:

person = {
    Name: {
        firstName: "James",
        lastName: "Wang"
    },
    age: 18,
    eyeColor: "Brown",
    fullName: function() {
        return this.Name.firstName + " " + this.Name.lastName;
    }
};

範例中增加的person.fullName();就是方法。

但 w3school 中也寫到

JavaScript objects are containers for named values called properties or methods.

 廣義來說,屬性和方法是相同的東西。

 

四、物件容器樣貌

在 JavaScript 中,物件內僅包含屬性屬性底下可能是另一個物件函式(Function)

 

五、取得物件內容之方法

取得屬性:

  • person.age;
  • person["age"];

取得方法(啟用函式):

  • person.fullName();

 

 六、參考資料:

  1. w3school - JavaScript Objects:http://www.w3schools.com/js/js_objects.asp