瞭解 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"
};
定義總結:
- JavaScript 物件是容器(Container)
- Name Value Pairs 組合
- 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();
六、參考資料:
- w3school - JavaScript Objects:http://www.w3schools.com/js/js_objects.asp