改变引用类型的属性值;对改变其属性值之前 打印该对象的影响

测试一

   function F() {
      this.__proto__.b = 1
    }

    var fn1 = new F()
    fn1.__proto__.b = 6
    console.log('fn1第一次打印:fn1.prototype.b的值为' + fn1.__proto__.b); //6
    console.log(fn1);//fn1.__proto__指向fn的prototype,最新的prototype的b得值为52行代码修改的b=1

    console.log('F第一次打印:F.prototype.b的值为' + F.prototype.b); //6

    let fn2 = new F()
    console.log('fn1第二次打印:fn1.prototype.b的值为' + fn1.__proto__.b); //1
    console.log(fn2);//fn2.__proto__指向fn的prototype,此时修改了fn的prototype的b,使b=1

    console.log('F第二次打印:F.prototype.b的值为' + F.prototype.b); //1

测试二

var obj = {
      a: 1
    }
    console.log(obj.a, obj);
    var obj2 = obj
    obj2.a = 2
    console.log(obj.a,obj);

posted @ 2020-10-13 13:24  17135131xjt  阅读(19)  评论(0编辑  收藏  举报