function func(){}alert(func.prototype);//[object Object]alert(func.__proto__);//function (){[native code]}b=new func;alert(b.__proto__);//[object Object]func.prototype=Array;//繼承后alert(b.__proto__);//[object Object]alert(func.prototype);//function Array(){[native code]}alert(func.__proto__);//function (){[native code]}a=new Array;alert(a.__proto__);//空,為什么不是[object Object]??? alert(Array.prototype);//空,為什么不是function Object(){[native code]}??? Array.prototype=new Object;//繼承后 alert(Array.prototype);//空??為什么??? Array或其他引用類型怎么繼承Object的所有屬性和方法???
4 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
a=new Array;
a.__proto__; // []
a.__proto__.__proto__; // Object {}
所有對(duì)象默認(rèn)都已經(jīng)繼承了Object
的屬性和方法。
不要用alert
,空數(shù)組用alert
顯示不出來。在控制臺(tái)輸入代碼查看結(jié)果。

12345678_0001
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
Array.prototype指的是原生對(duì)象的原型,所有的引用類型都默認(rèn)繼承了Object,這個(gè)繼承是通過原型鏈實(shí)現(xiàn)的,默認(rèn)原型都包含一個(gè)內(nèi)部指針指向Object.prototype,會(huì)繼承toString(),valueOf()等方法。
添加回答
舉報(bào)
0/150
提交
取消