我试图将原型(prototype)功能与其他站点提供的示例代码一起使用。
我简化了代码,并在下面列出了它。使用它时,出现以下错误:TypeError:this.createChart不是函数。仅当我尝试在我的网站上实现代码时,我才不会在jsfiddle上收到此错误。
我正在工作的jsfiddle在这里:http://jsfiddle.net/56vjtv3d/76
有什么建议么?谢谢!
function Meteogram(A,B) {
this.A = A;
this.B = B;
this.createChart();
}
Meteogram.prototype.createChart = function() {
alert('test');
//Will do other stuff here
};
最佳答案
此代码可以正常工作,您可能未正确初始化对象
您的Meteogram函数被称为“对象构造函数”,它可用于创建多个类似的对象,并根据此构造函数创建新对象,您需要使用new关键字
我们已经有了:
function Meteogram(A,B) {
this.A = A;
this.B = B;
this.createChart();
}
Meteogram.prototype.createChart = function() {
alert('test');
//Will do other stuff here
}
现在..
这可以工作:
var m = new Meteogram('a', 'b');
// Now m is an instance of Meteogram !!
这不会是:
var m = Meteogram('a', 'b');
// Uncaught TypeError: this.createChart is not a function(…)