對象包含一個或更多鍵值對。鍵的部分可以是任何字符串。值的部分可以是任何類型的值:數字、字符串、數組、函數,甚至是另一個對象。當這些值中的一個是函數,它被稱為對象的方法。否則,它們被稱為屬性。
事實上,JavaScript 中的所有東西幾乎都是對象 - 數組,函數,數字,甚至字符串 - 它們都有屬性和方法。
~~~
// Creating an object literal.
var myObject = {
sayHello: function() {
console.log( "hello" );
},
myName: "Rebecca"
};
myObject.sayHello(); // "hello"
console.log( myObject.myName ); // "Rebecca"
~~~
創建對象字面量時,注意每一個鍵值對的鍵部分可以是任何有效的 JavaScript 標識符、字符串(被引號包含)或者數字:
~~~
var myObject = {
validIdentifier: 123,
"some string": 456,
99999: 789
};
~~~
## 遍歷對象的可枚舉屬性:
~~~
var myObject = {
validIdentifier: 123,
"some string": 456,
99999: 789
};
for ( var prop in myObject ) {
// Determine if the property is on the object itself.
// (not on the prototype)
if ( myObject.hasOwnProperty( prop ) ) {
console.log( "Property : " + prop + " ; value : " + myObject[ prop ] );
}
}
// Would log the following:
// Please note that the order is not guaranteed and may differ.
// Property : 99999 ; value : 789
// Property : validIdentifier ; value : 123
// Property : some string ; value : 456
~~~