構造函數
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匹配。由于標準中有這個錯誤,因此該方法不是那么有用。
這里一種方法
******************************
這是另一種方法
新聞熱點
疑難解答