Object
にいくつかのプロトタイプ機能が追加されていますが、これは私の意見では特定のシナリオでは実用的でした。しかし、私が$ .getを実行すると、プロトタイプ関数がデータメンバーとして処理され、http://...?prototypefunc=false
のように送信されることに気付きました。
これはデータメンバーとして提供しないのでむしろ役に立たないですが、はクエリ文字列にを追加しています。正確には
、私はこのコードを持っている:
Object.prototype.in = function() {
for(var i=0; i<arguments.length; i++)
if(arguments[i] == this) return true;
return false;
}
$.get('http://localhost/test.php', {'test': 'foo'}, function(text) { });
構築し、対応するURLは次のとおりです。
http://localhost/test.php?test=foo&in=false
私はこの問題を回避するにはどうすればよいですか?
これが、 'Object.prototype'を拡張しない理由です。 –
なぜですか?それは非常に便利です。 'foo.in(1,2,3)'はfooが1,2,3のいずれかであるかどうかをチェックします。 – pimvdb
@pimvdb:これは副作用があるかもしれません(ご覧のとおり)。 'Helper.in(this、[1,2,3])'を持つコードはそれほど多くはありません。そうしないと、問題を解決する唯一の方法はjQueryコードを編集することです。 –