[英]Javascript add method using object.prototype doesnt work
整体来说,这是JS的新功能,我正在尝试向JS对象添加方法。 我有一个对象;
function Population() {
this.size = 30;
this.items = [];
this.generateRandom;
};
我想稍后定义如下的generateRandom方法
Population.prototype.generateRandom = function() {
....code here...
}
但是我得到了错误
“ generateRandom”不是一个函数
如果我创建一个新的种群并尝试运行它,则会出现此错误;
//run the program
(function(){
//let p = new Pool();
let p = new Population();
p.generateRandom();
//p.generatePopulation();
console.log(p);
}());
您的代码应按原样工作-尝试运行此代码(随意在函数中放入一些代码):
function Population() { this.size = 30; this.items = []; }; Population.prototype.generateRandom = function() { for(let i = 0; i < this.size; i++) this.items.push(Math.floor(Math.random() * 100)); return this.items; }; let p = new Population(); console.log(p.generateRandom());
也许是您的this.generateRandom;
在第3行,这就是造成问题的原因。 没必要
另外,由于要定义对象,因此可能要使用class
关键字:
class Population {
constructor() {
this.size = 30;
this.items = [];
}
generateRandom() {
// ...your function here
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.