最近在写一个小组件时,用JS的prototype继承了一些方法,大体的结构如下:

var A = function(){
  this.name = 'lr';  
};
A.prototype.sayAge = function(){
  console.log("forever 18")  
};
A.prototype.sayHeight=function(){
  console.log('guess');  
}

然后我就去调用:

A.sayAge()

结果报错:A.sayAge 未定义;

然后我就很奇怪,没定义???

控制台console A出来一看,就一个name属性,心思:我的sayAge和sayHeight哪去了??

然后去查资讯发现,prototype是函数对象的一个属性,在我们调用前首先是需要new一个函数对象的。这样一看就很清楚了

在调用前new 一个对象 new A()就可以调用prototype的属性了,这样里面的sayAge、sayHeight就都可以调用了~~~

 

相关文章:

  • 2022-01-10
  • 2021-10-22
  • 2021-11-18
  • 2021-09-24
  • 2021-07-24
  • 2021-09-11
  • 2021-05-20
  • 2021-08-09
猜你喜欢
  • 2021-12-10
  • 2022-01-16
  • 2021-04-04
  • 2021-12-31
  • 2022-12-23
  • 2021-08-29
  • 2021-06-12
相关资源
相似解决方案