问答详情
源自:4-2 [JavaScript]创建对象、原型链

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

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

http://img4.mukewang.com/5da99a210001dfd404200139.jpg

提问者:qq_慕慕947699 2019-10-18 18:56

个回答

  • 慕仰8118372
    2020-06-06 18:10:36

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

  • 慕九州5249392
    2019-12-19 11:18:51

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

  • 湫谷Sama
    2019-11-02 16:00:34

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

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

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

  • 微虻
    2019-10-25 11:34:24

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