<script type="text/javascript">
function A(){
}
A.prototype.n = 1
let b = new A()
A.prototype = {
n:2,
m:3
}
let c = new A()
console.log(b.n,b.m,c.n,c.m)
</script>
关于这个: console.log(b.n,b.m,c.n,c.m) 的输出,首先函数对象A的出现,它的原型链也就诞生了,就是这个 原型里面添加一个属性n并给ta一个值,然后new出来一个实例对象b,b.n自然就是1了 但是m并没有发现这个属性,所以undefined。 接着分析 A又向prototype中添加了两个属性并为他们赋值。 清晰了吗? 我用QQ截图画了一个图, 大家向我这样 打印点东西出来分析分析 : 最后在盯着下面这张图分析分析,