0

Is there any difference in the way these two objects create their methods? Are there performance differences? What's the difference here, if any?

Method 1:

var Point = function(x, y, z) {
    this.x = x;
    this.y = y;
    this.z = z;

    this.add = function(point) {
        this.x += point.x;
        this.y += point.y;
        this.z += point.z;
    };

    this.sub = function(point) {
        this.x -= point.x;
        this.y -= point.y;
        this.z -= point.z;
    };
};

Method 2:

var Point = function(x, y, z) {
    this.x = x;
    this.y = y;
    this.z = z;
};

Point.prototype.add = function(point) {
    this.x += point.x;
    this.y += point.y;
    this.z += point.z;
};

Point.prototype.sub = function(point) {
    this.x -= point.x;
    this.y -= point.y;
    this.z -= point.z;
};
Ethan Bierlein
  • 3,353
  • 4
  • 28
  • 42

0 Answers0