为了账号安全,请及时绑定邮箱和手机立即绑定

Ctor.prototype = null之后为什么result还有name属性?

Ctor.prototype = null之后为什么result还有name属性?

斯蒂芬大帝 2018-09-10 12:30:45
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属性?
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞


不会对已经产生的对象有影响,后面new的就不行了。

var obj = {a:1}

//undefined

var obj1 = obj

//undefined

obj = {a:2}

//Object {a: 2}

obj1

//Object {a: 1}

类似这种情况。


查看完整回答
反对 回复 2018-10-19
  • 1 回答
  • 0 关注
  • 593 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号