1.物件的創建方法:
(1)透過new運算子創建,new後面跟著一個建構函式名稱
var object = new Object();
建構函式直接呼叫時通常沒有回傳值,它只是初始化由this值傳遞進來的物件;但是與new一起使用時傳回一個物件值作為new表達式的值
(2)物件直接量
物件直接量由屬性說明列表構成,列表包含在大括號中,其中屬性說明由逗號隔開。物件直接量的每個屬性說明都由屬性名稱加上冒號和屬性值構成,屬性值可以是任何類型,也可以是函數
var object = { a : 1, b : 'a', c : function(){} }
2.物件屬性的設定與查詢
(1)透過點運算子object.p
(2)類別陣列方式object[ 'p']
方法2屬性以字串表示,可以方便動態存取物件屬性
3.枚舉物件屬性
for (p in object) {
// do something
}
p為object的屬性,此種方式只能列舉使用者自訂屬性,不能列舉某些預先定義的屬性與方法,如constructor
4.存取物件未定義的屬性,傳回undefined;
5.物件方法
物件的方法定義和存取與物件屬性類似,只是物件方法為函數;在方法內部透過this引用呼叫方法的物件
6.物件的原型物件
(1)每個物件都有原型對象,它繼承其原型物件的所有屬性;屬性的繼承只發生在屬性值的讀取時;
(2) 一個物件的原型是由創建並初始化該物件的建構子定義的;
(3) 每個函數(建構子)都有一個prototype屬性引用函數的原型對象