Există câteva modalități de a obține un comportament asemănător claselor în javascript, cele mai frecvente par a fi prototip bazate pe aceasta:
function Vector(x, y, x) {
this.x = x;
this.y = y;
this.z = z;
return this;
}
Vector.prototype.length = function() { return Math.sqrt(this.x * this.x ... ); }
și abordări bazate pe închidere similară cu
function Vector(x, y, z) {
this.length = function() { return Math.sqrt(x * x + ...); }
}
Din diverse motive, aceasta din urmă este mai rapidă, dar am văzut (și scriu frecvent) versiunea prototip și am fost curios în ceea ce privește ceea ce fac ceilalți.