prototype小记(对象创建之后的访问问题)

最近在写一个小组件时,用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就都可以调用了~~~

 

posted @ 2018-01-31 16:30  有间小屋在森林  阅读(249)  评论(0)    收藏  举报