建構子
new Object()
new Object(value)
參數
value
可選的參數,宣告了要轉換成Number物件、Boolean物件或String物件的原始值(即數字、布林值或字串)。 JavaScript 1.1之前的版本和ECMAScript Vl不支援該物件。
回傳值
如果沒有給建構函式傳遞value參數,那麼它將傳回一個 新建立的Object實例。如果指定了原始的value參數,建構函式將會建立並傳回原始值的包裝對象,即Number對象、Boolean對像或 String對象。當不使用new運算符,將Object()建構函數當作函數呼叫時,它的行為與使用new運算符時相同。
屬性
constructor
一個JavaScript函數的引用,該函數是物件的建構子
方法
1.hasOwnProperty( )
檢查物件是否有局部定義的(非繼承的)、具有特定名字的屬性。
2.isPrototypeOf()
文法
object.isPrototypeOf(o)
參數
o
任意對象。
傳回值
如果object是O的原型,則傳回true。如果o不是對象,或object不是o的原 型,則傳回false。
描述
JavaScript物件繼承了原型物件的屬性。一個物件的原型是透過用於建立並初始化該物件的建構函數的prototype屬性來引用的。 isPrototypeOf()方法提供了判斷一個物件是否為另一個物件原型的方法。此方法可以用於確定物件的 類別。
範例
3.ProertyIsEnumerable()
文法
object.propertyIsEnumerable(propname)
參數
propname
一個字串,包含object原型的名字。
傳回值
如果object具有名為propname的非繼承屬性,且該屬性是可列舉的(即用for/in循環可以列舉它),則傳回true。
描述
用for/in語句可以遍歷一個物件「可枚舉」的屬性。但並非—個物件的所有屬性都是可枚舉的,透過JavaScript程式碼加入物件的屬性是可列舉的,而內部物件的預先定義屬性(如方法)通常是不可列舉的。 propertylsEnumerable()方法提供了區分可枚舉屬性和不可枚舉屬性的方法。但要注意,ECMAScript標準規定,propertyIsEnumerable()方法不偵測原型鏈,這意味著它只適用於物件的局部屬性,不能偵測繼承屬性的可枚舉性。
範例
Bug
當標準限制propertylsEnumerable()方法只能偵測非繼承屬性時,明顯是錯的。 Internet Explorer 5.5依標準實作了此方法。 Nestacpe 6.0實作的propertyIsEnumerable()方法考慮了原型鏈。雖然這種方法可取,但它與標準衝突,所以Netscape 6.1修改了它,以便與IE 5.5匹配。由於標準中有這個錯誤,因此該方法不是那麼有用。
這裡一種方法
******************************
這是另一種方法