我理解function返回的數(shù)據(jù)類(lèi)型是和Object同等級(jí)的數(shù)據(jù)類(lèi)型。它有Object實(shí)例(new Object())的一些特性,但它不是Object的實(shí)例,因?yàn)樗鼪](méi)有繼承Object.prototype.toString=function(){return 'myToString'};但我們Person.toString=function(){return 'Person toString'};改變了覆蓋了方法。在《javascript權(quán)威指南》中,作者用這個(gè)特性實(shí)現(xiàn)了“類(lèi)方法、類(lèi)變量”static方法,與java中不同,這些方法不能用new Person()來(lái)調(diào)用。
Object?????????????????? function???????????? 同等級(jí) function可以定義屬性,可以(for in)
new Object()??????? new function()??? 同等級(jí) new function()繼承了Object的prototype, ?????????????????????????????????????????????????????也會(huì)繼承 function的prototype
小例子。看了原型對(duì)象就很清楚了啊。 原型對(duì)象最好在代碼最前面定義,很容易被覆蓋啊!