関数のプロトタイプを動的に拡張することが悪い習慣であるかどうかを知りたい。私はプロトタイプに追加するプロパティ名と関数を受け取る静的メソッドを使用してこれを行うことを検討しています。JavaScript:プロトタイプを動的に拡張するのは悪い習慣ですか?
これは悪い習慣ですか?
function Test() {
this.condition = false;
}
Test.extend = function(id, task) {
this.prototype[id] = function() {
return task.apply(this, arguments);
};
};
トラックを保存するのが難しい場合(悪意のあることは通常起こります)に悪用した場合のみです。個人的には、自分のプログラミングでそのレベルのメタに到達したくないのです。 –
あなたのコードがうまくいかないので、悪い習慣です:-) 'this.task'ではなく' task'である必要があり、 'this.prototype [id] = task;' – Bergi
I '確かにわかりませんが、 '.apply'にはいくつかのパフォーマンス上の問題があると思います。 – Rajesh