1 <script type="text/javascript"> 2 function A(){ 3 4 5 6 } 7 A.prototype.n = 1 8 let b = new A() 9 A.prototype = { 10 11 12 n:2, 13 m:3 14 } 15 let c = new A() 16 console.log(b.n,b.m,c.n,c.m) //1 undefined 2 3 17 </script>

关于这个: console.log(b.n,b.m,c.n,c.m) 的输出,首先函数对象A的出现,它的原型链也就诞生了,就是这个

原型里面添加一个属性n并给ta一个值,然后new出来一个实例对象b,b.n自然就是1了 但是m并没有发现这个属性,所以undefined。

接着分析 A又向prototype中添加了两个属性并为他们赋值。


清晰了吗?
我用QQ截图画了一个图,

大家向我这样 打印点东西出来分析分析 :

最后在盯着下面这张图分析分析,
