Js原型链题目1

 <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>

Js原型链题目1_第1张图片

关于这个: console.log(b.n,b.m,c.n,c.m) 的输出,首先函数对象A的出现,它的原型链也就诞生了,就是这个
Js原型链题目1_第2张图片
原型里面添加一个属性n并给ta一个值,然后new出来一个实例对象b,b.n自然就是1了 但是m并没有发现这个属性,所以undefined。
Js原型链题目1_第3张图片
接着分析 A又向prototype中添加了两个属性并为他们赋值。
Js原型链题目1_第4张图片
在这里插入图片描述
清晰了吗?
我用QQ截图画了一个图,

大家向我这样 打印点东西出来分析分析 :
Js原型链题目1_第5张图片
最后在盯着下面这张图分析分析,
Js原型链题目1_第6张图片

你可能感兴趣的:(Js,js,javascript,prototype)