Có một vài cách để có được hành vi tầm cỡ như thế nào trong javascript, phổ biến nhất dường như là nguyên mẫu dựa như thế này:Bạn sử dụng kiểu nào để tạo "lớp"?
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 ...); }
và cách tiếp cận đóng cửa căn cứ tương tự như
function Vector(x, y, z) {
this.length = function() { return Math.sqrt(x * x + ...); }
}
Vì những lý do khác nhau sau này là nhanh hơn, nhưng tôi đã nhìn thấy (và tôi thường xuyên viết) phiên bản nguyên mẫu và tò mò như những gì người khác làm.
Các thử nghiệm của tôi đã chỉ ra rằng cách tiếp cận dựa trên đóng cửa chậm hơn. Bạn phải nhanh chóng đóng cửa riêng biệt cho từng đối tượng. Cách tiếp cận nguyên mẫu chia sẻ các phương thức với tất cả các trường hợp. –