下面代码就是这个面试题,求打印的结果
Test.prototype = {
name: "zs"
}
function Test() {
}
let a = new Test()
Test.prototype = {
name: "lisi"
}
let b = new Test()
console.log(a.name); // "zs"
console.log(b.name); // "lisi"
我这边解析一下这个代码
new 的过程中生成了 Test {} 对象这个对象可以 理解就是
注意一下是发生了对象覆盖的
{ name: "zs" } = a 这个实例
{name: "lisi"} = b 这个实例
Test.prototype = {
name: "zs"
}
function Test() {
}
let a = new Test()
// 这个代码可以为 将之前的对象的name "zs" 改为 "lisi"
Test.prototype.name = "lisi"
let b = new Test()
console.log(a.name); // "lisi"
console.log(b.name); // "lisi"