构造函数的原形-P11-2019-12-06

来看存在的问题

 
    
来看构造函数内存创建方法的问题.png

st1.sayHi==st2.sayHi.png

st1.sayHi==st2.sayHi 比较内存地址 为false

//优化后代码 == > 直接调用
  this.sayHi = sayHi ;
 }
//提到全局作用域中并加个名字
 function sayHi () {
                console.log("大家好,我是" + this.name);
}
image.png
//这一来内存中存储的数据是一样的
 
再次判断st2.sayHi==st1.sayHi.png

但也存在问题,当方法越多命名越多也就越可能重名
解决办法用原形

//具体代码
 
    
构造函数对象.prototype.构造函数方法.png

你可能感兴趣的:(构造函数的原形-P11-2019-12-06)