javascript所有對象都繼承自O(shè)bject類。以下是Object類的一些屬性。原型對象
的一些屬性。
1、constructor屬性從javascript1.1開始,每個對象都有這個屬性,它指向用來初始化改對象的構(gòu)造
函數(shù)
?
如以上代碼,可以知道a、constructor的類型是函數(shù);b、javascript內(nèi)部實現(xiàn)了很多函數(shù),如Object,Date都是函數(shù)由Function得到的
。c、用原型對象實現(xiàn)的繼承中,也要設(shè)置子類的constructor。如果你的程序中用
到了constructor,可能會出錯。2、toString()方法相當(dāng)于java Object類中toString方法。你alert()? + 等操作中就會調(diào)用這個方
法。 var s='1'+'2',會自動把'1'? '2'? 轉(zhuǎn)化成String對象在執(zhí)行。
但數(shù)組定義自己的toString方法。alert(Array.prototype.toString)
如果對象或子類要調(diào)用父類的方法可以
3、toLocalString()方法 ECMAScript v3 javascript1.5中定義了這個方法。返回局部化的值。偶還不知道
什么用法。4、valueof()當(dāng)javascript與要將一個對象轉(zhuǎn)化成字符串之外的原始類型時調(diào)用它。
5、hasOwnProperty()方法 《javascript權(quán)威指南》說如果是非繼承的屬性返回true.但下列代碼反映,它檢
驗對象的實例屬性。對原型屬性不會返回。
6、propertyIsEnumerable 《javascript權(quán)威指南》如果用能 for( in )枚舉的屬性,這個方法返回true;以下代碼說明《javascript權(quán)威指南》是錯的。自己定義的原型對象屬性可以枚
舉,但返回false
7、isPrototypeOf方法 《javascript權(quán)威指南》如果調(diào)用對象是實際參數(shù)指定的對象的原型對象返回
true. 看代碼吧。居然alert(Object.prototype.isPrototypeOf(Person));//true也是true.搞不懂
8、總結(jié)看《javascript權(quán)威指南》前,就知道toString方法?,F(xiàn)在知道了些其他的方法
,但讓我更加混亂,《javascript權(quán)威指南》講的也有錯誤。開發(fā)中建議大家除
了toString,其他屬性方法不要覆蓋也不要使用了。除了對這些方法十分清楚。就
我知道的javascript開源框架中好象沒用到這些。