我正在尝试学习如何在javascript中使用原型,我希望有人可以向我解释以下内容。
假设我有一个原型的对象:
function Calc(sumOne, sumTwo) {
this.sumOne = sumOne;
this.sumTwo = sumTwo;
}
Calc.prototype.add = function() {
var sum = this.sumOne + this.sumTwo;
return sum;
}
然后可以说这些对象存储在数组中,就像这样创建它们一样。
var numbers = [];
numbers.push(new Calc(1, 2));
numbers.push(new Calc(3, 4));
numbers.push(new Calc(5, 6));
这会导致数组看起来像这样
numbers = [{sumOne: 1, sumTwo: 2}, {sumOne: 3, sumTwo: 4}, {sumOne: 5, sumTwo: 6}];
如果我现在想在这些对象上运行原型以获得结果(3,7和11)。我该怎么做?
答案 0 :(得分:1)
对于数组中的每个Calc
实例,请在其上调用.add()
。
numbers.map(function(calc) {
return calc.add();
});
答案 1 :(得分:0)
迭代它们并调用原型方法
function Calc(sumOne, sumTwo) {
this.sumOne = sumOne;
this.sumTwo = sumTwo;
}
Calc.prototype.add = function() {
var sum = this.sumOne + this.sumTwo;
return sum;
}
var numbers = [];
numbers.push(new Calc(1, 2));
numbers.push(new Calc(3, 4));
numbers.push(new Calc(5, 6));
numbers.forEach(function(calcObject, index) {
numbers[index] = calcObject.add();
});
console.log(numbers)