我想减少 JavaScript 中丑陋的代码,尤其是与构造函数相关的代码。
我有一个向量定义为:
function Vector2(X, Y) {
this.x = 0.0;
this.y = 0.0;
if (X)
this.y = Y;
if (Y)
this.y = Y;
}
现在,为了将两个向量相加,我必须写:
var vector1 = new Vector2(1.0, 0.5);
var vector2 = new Vector2(4.5, 1.0);
vector1.x += vector2.x;
vector1.y += vector2.y;
我想让代码更漂亮、更易于阅读,并在使用许多构造函数时生成更小的文件。我希望能够写的是:
vector1 += vector2;
提前感谢您的帮助。
最佳答案
你可以这样:
function Vector(X, Y) {
this.x = X || 0.0; // yes, I simplified a bit your constructor
this.y = Y || 0.0;
}
Vector.prototype.add = function(v) {
this.x += v.x;
this.y += v.y;
}
你只需要做
var vector1 = new Vector(4,4);
var vector2 = new Vector(1,3);
vector1.add(vector2);
关于javascript - 如何在算术表达式中编写构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635537/