Ctor.prototype = null之后为什么result还有name属性?
var Ctor=function(){};
function create(prototype){
Ctor.prototype = prototype;
var result = new Ctor();
console.dir(result);//name:'sde'
Ctor.prototype = null;//清空了prototype吗?
console.dir(result);//name
console.log(Ctor.prototype);//null
return result;
}
var obj2=create({name:'sde'});
alert(obj2.name);//name:'sde';
求大神讲解下Ctor.prototype=null之后都发生了什么变化?为什么Ctor.prototype = null之后为什么result还有name属性?
result不是Ctor的一个实例吗,那它的name不是也应该继承自Ctor.prototype?既然Ctor.prototype=null了,为什么result还有name属性?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不会对已经产生的对象有影响,后面new的就不行了。
类似这种情况。