Javascript对象原型的优势?

时间:2016-10-03 20:49:52

标签: javascript

我最近开始在Javascript中学习原型。我对将方法添加到原型中的优势感到困惑。这是我正在思考的一个例子

计算圆的面积的一种方法可能是这样的

function Circle(radius, area){
  this.radius = radius;
  this.area = (radius*radius*Math.PI);
}

但是另一种方式就是这样

function Circle(radius, area){
  this.radius = radius;
}

Circle.prototype.area = function(){
  return this.radius*this.radius*Math.PI
}

将area方法作为原型的一部分而不是将方法直接放在构造函数中有什么好处?

1 个答案:

答案 0 :(得分:0)

  

将area方法作为原型的一部分而不是将方法直接放在构造函数中有什么好处?

您没有在构造函数中放置方法,而是已经计算出的区域值。面积法具有以下优点:

  • 即使半径已更改,也会计算当前值。
  • 该区域无法通过外国代码更改为错误的值。
  • 您可以更改内部使用的单位,而不会影响使用该对象的代码。
  • 它(希望)需要更少的内存,如果你有大量的这些对象可能会有用。