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

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下载
官方微信