我理解function返回的數據類型是和Object同等級的數據類型。它有Object實例(new Object())的一些特性,但它不是Object的實例,因為它沒有繼承Object.prototype.toString=function(){return 'myToString'};但我們Person.toString=function(){return 'Person toString'};改變了覆蓋了方法。在《javascript權威指南》中,作者用這個特性實現了“類方法、類變量”static方法,與java中不同,這些方法不能用new Person()來調用。
Object?????????????????? function???????????? 同等級 function可以定義屬性,可以(for in)
new Object()??????? new function()??? 同等級 new function()繼承了Object的prototype, ?????????????????????????????????????????????????????也會繼承 function的prototype
小例子??戳嗽蛯ο缶秃芮宄税?。 原型對象最好在代碼最前面定義,很容易被覆蓋??!