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