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

为啥new完之后,再去访问obj.y就是undefined呢?

我想提一个问题:        var obj={}; obj.x=1; obj.y=2; console.log(obj);//{x: 1, y: 2} console.log(obj.y);//2 function fn(){}; fn.prototype.z=3; var obj=new fn(); console.log(obj.z);//3 console.log(obj.y);//undefined 为啥new完之后obj.y就是输出undefined呢?

正在回答

2 回答

原来是这样啊,new完之后的对象就是全新的对象啊

0 回复 有任何疑惑可以回复我~

因为你的obj根本就没有y属性呀。你new 得出来的这个obj是一个全新的对象,你前面写一个 var obj={},obj.y=2;这时obj是有y属性的,而你后面又是一个 var obj=new fn();  这时这个obj就会覆盖掉前面的那个obj。

1 回复 有任何疑惑可以回复我~
#1

ZTON

对 等于前面那段代码没有写
2016-07-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥new完之后,再去访问obj.y就是undefined呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信