construct.prototype问题

allysniper 2010-01-31 05:26:22
<script>
var d=function kk(){};
var t=new kk();
var s=new d();

alert(d.constructor.prototype);
alert(t.constructor.prototype);
alert(s.constructor.prototype);
</script>

输出分别是function prototype(){[native code]},[object Object],[object Object]为啥子哦?

[object Object]和function prototype(){[native code]} 是什么东西?

...全文
142 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtcsy 2010-01-31
  • 打赏
  • 举报
回复
constructor属性始终指向创建当前对象的构造函数
t,s都是由kk函数构造出来的
t.constructor和 s.constructor 的就是kk函数了
可以测试一下
function kk(){}; 
var t = new kk();
var s = new kk();
if(t.constructor===kk)
alert('1')
if(s.constructor===kk)
alert('2')



t.constructor.prototype就是kk.prototype 了
kk.prototype是objet类型的 弹出来就是[object Object]

/--------------------------------------
var d=function kk(){}; //这么写不规范 firefox下报错了
d.constructor.prototype
d引用的kk
可以看承是kk.constructor.prototype
kk是 function
那么kk.constructor就是Function了
d.constructor.prototype 就是 Function.prototype

可以测试一下
 function kk(){}
var d = kk;
alert(d.constructor.a); //undefiend
Function.prototype.a = "a"; //给Function.prototype加个a属性
alert(d.constructor.a); // d.constructor就多了个a属性
freespacezjx 2010-01-31
  • 打赏
  • 举报
回复
js对象吧,不是很明白,google 一下吧

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧