var a = function () { this.cc = 3 } var b = 7; a.prototype = { b: 3 } const c = new a(); console.log(b) // 3 console.log(c.b) // undefined 引用赋值的原因 结果是7和3哦,第一个log不用多说。第二个log:a.prototype = { b: 3 }这条语句把a的原型对象替换成了{ b : 3 }这个对象,所以在new的时候this就是指向的这个对象,可以在a的构造函数里调用console.log(this)看到,所以如果调用Object.getPrototypeOf(c)会得到c的原型就是{ b: 3 },因此c.b会得到3
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务