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

实例化把原型链里边的x修改了,emmm

实例化把原型链里边的x修改了,emmm

http://img1.sycdn.imooc.com//5da99a210001dfd404200139.jpg

正在回答

4 回答

这是输出你自己对象上的属性,当访问一个属性的时候,首先会在实例中搜索该属性,如果没有找到该属性,则会继续搜索实例的原型。

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

原型链啊,首先会在自己的属性中找,找不到才会去找原型的属性,而你输出的是自己的属性

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

咱们得区分你输出的对象是谁,会不会追溯要原型上。

console.log(obj.x);//意味着输出obj对象的x属性,因为你在输出前给new的obj对象赋予了x = 'a',
                     所以在这里他不会追溯到原型上的x属性的值
                     你还可以尝试把obj.x='a'删掉看看,此时输出为原型的x属性值;

换言之,如果在new的对象中新建同名属性并赋值,该对象不会被父类的同名属性和值影响(这里不能用继承的概念);反之,则会通过原型链追溯到父对象,得到父对象该属性的值

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

截图里没问题吧,没修改原型链的x,输出的是对象上的x

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

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281117    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

实例化把原型链里边的x修改了,emmm

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