Tôi muốn biết nếu mở rộng mẫu thử nghiệm của một chức năng động là một thực hành xấu. Tôi đang xem xét để làm điều này bằng cách sử dụng một phương pháp tĩnh mà nhận được tên tài sản và chức năng để thêm vào nguyên mẫu.JavaScript: đang mở rộng mẫu thử nghiệm động một cách không thực tế?
Đó có phải là thực tiễn không tốt?
function Test() {
this.condition = false;
}
Test.extend = function(id, task) {
this.prototype[id] = function() {
return task.apply(this, arguments);
};
};
Chỉ khi bạn lạm dụng nó đến mức mà việc theo dõi là khó khăn (mà, thẳng thắn, thường là những gì sẽ xảy ra). Cá nhân, tôi không muốn đạt đến cấp độ meta đó trong lập trình của mình. –
Đó là một thực tế xấu vì mã của bạn không hoạt động :-) Nó sẽ cần phải là 'nhiệm vụ' thay vì' this.task', và nên được rút ngắn thành 'this.prototype [id] = task;' – Bergi
I ' m không chắc chắn nhưng tôi đoán có một số vấn đề hiệu suất với '.apply'. – Rajesh