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