首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用prototype?

如何使用prototype?
EN

Stack Overflow用户
提问于 2015-10-21 03:37:27
回答 2查看 49关注 0票数 0

我正在学习如何在javascript中使用prototype,我希望有人能给我解释一下。

假设我有一个对象,其原型如下所示:

代码语言:javascript
复制
function Calc(sumOne, sumTwo) {
    this.sumOne = sumOne;
    this.sumTwo = sumTwo;
}

Calc.prototype.add = function() {
    var sum = this.sumOne + this.sumTwo;
    return sum;
}

然后假设这些对象被存储在一个数组中,当它们像这样被创建时。

代码语言:javascript
复制
var numbers = [];

numbers.push(new Calc(1, 2));
numbers.push(new Calc(3, 4));
numbers.push(new Calc(5, 6));

这将产生如下所示的数组

代码语言:javascript
复制
numbers = [{sumOne: 1, sumTwo: 2}, {sumOne: 3, sumTwo: 4}, {sumOne: 5, sumTwo: 6}];

如果我现在想在这些对象上运行原型以获得结果(3,7和11)。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2015-10-21 03:40:28

对于数组中的每个Calc实例,对其调用.add()

代码语言:javascript
复制
numbers.map(function(calc) {
  return calc.add();
});
票数 1
EN

Stack Overflow用户

发布于 2015-10-21 03:40:40

迭代它们并调用prototype方法

代码语言: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.forEach(function(calcObject, index) {
  numbers[index] = calcObject.add();

});
console.log(numbers)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33245382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档