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

var obj={x:1}之后var obj=new foo(); 那obj之前的x属性不是没有了吗??

var obj={x:1};

function foo(){};

foo.prototype.z=3;

cosole.log(obj.x);

console.log(obj.z);

obj的x属性不是应该没有了吗?

正在回答

2 回答

如果想要达到老师所描述的效果的话,应该是这样的

http://img1.sycdn.imooc.com//59cdbc910001832202990434.jpg

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

var obj={x:1};var obj=new foo();变量obj会被申明提前,按照JS的执行顺序,首先变量obj被赋值为一个对象,继续执行obj又被赋值为一个foo函数,自然而然就代替了之前被赋值的对象,故obj之前的X属性也会被覆盖


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

举报

0/150
提交
取消

var obj={x:1}之后var obj=new foo(); 那obj之前的x属性不是没有了吗??

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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