function A() {}; A.prototype.n = 1; var b = new A(); // b 实例对象已经建立原型连接 // 原型对象指向被改变,不会切断 b 实例对象的的指向 A.prototype = { n: 2, m: 3 }; var c = new A(); // c 实例对象将根据新的原型建立连接 console.log(b.n, b.m); // 1 undefined 这里拿到是改变 prototype 之前的堆数据 console.log(c.n, c.m); // 2 3 这里拿到是改变 prototype 之后的堆数据 // 此题生成了两个堆内存 // 并且两个堆内存都有自己的实例存储 => b c
原型与原型链 -- 笔试 - 05
关注
打赏