Advertisement

两个原型链相关的面试题

阅读量:
复制代码
      function A() {}
      A.prototype.n = 1
      var b = new A()
      A.prototype = {
        n: 2,
        m: 3,
      }
      var c = new A()
      console.log(b.n, b.m, c.n, c.m)
    
    
      
      
      
      
      
      
      
      
      
    
在这里插入图片描述

题目解析:如下图所示,展示了上述程序运行过程中变量在内存中的存储状态。A.prototype的指向最终发生了变化,但实例b依然保持对原地址的引用,而该地址并未存储m属性,因此导致b.m的结果为undefined。

在这里插入图片描述
复制代码

全部评论 (0)

还没有任何评论哟~