我想知道动态地扩展函数原型是否是一种不好的做法。我考虑使用一个静态方法来接收属性名称和要添加到原型中的函数来完成这个操作。
那么这样做是不好的做法吗?
那么这样做是不好的做法吗?
function Test() {
this.condition = false;
}
Test.extend = function(id, task) {
this.prototype[id] = function() {
return task.apply(this, arguments);
};
};
task
替换this.task
,并且应该缩短为this.prototype[id] = task;
。 - Bergi.apply
存在一些性能问题。 - RajeshFunction.prototype.apply
带来更大的性能影响... - Jared Smith.apply
也不是必要的。一般来说,作为一个经验法则,继承是不好的。在源代码中无法直接看到的继承更糟糕。而原型继承仍然是继承。 - Jared Smith