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