2

私はjQueryがJavascriptコードで実装される方法について多くのことを考えてきました。jQueryやPrototypeなどのライブラリは、デフォルトでエイリアスにバインドします。これらの例では、ドル記号を使用しています$。(アンダースコアは、適切には、アンダースコア文字を使用します_。)

私はこれがどのように機能するかを理解しています。また、多くのライブラリがnoConflictモードを提供していることも理解しています。

私の質問は、なぜこれらのライブラリがデフォルトでエイリアスを使用するのかということです。

私が見たところ、このようなエイリアスでは、プログラマーが関数を呼び出すときに入力する文字が少なくなるように見えますが、これは些細なことのようです。(正直なところ、長い変数名の入力に問題がないため、少し偏見があります。)おそらくファイルサイズの目的であると思いましたが、ミニファイアの急増に伴い、それは論点になるようです。 (そして時期尚早の最適化の一形態)。

反対に、エイリアスは、これらのライブラリを使用している人々に多くの混乱を引き起こす ようです。

今、私はエイリアスの使用に反対しているわけではありません-なぜそれがこれらのライブラリのデフォルトオプションであるのか疑問に思っています。現在、エイリアスを回避するには、エイリアスを使用しないことを明示的に宣言する必要があります。ライブラリ呼び出しにエイリアスを使用することについて、私が見逃している特定の利点はありますか?私がすぐに思いつく唯一の利点は、何らかの方法でライブラリ間コードを記述した場合です。ライブラリを交換するには、エイリアスを交換するだけです。しかし、私はこれが行われたのを見たことがないと思います。

誰もがこれの背後にある理由を知っていますか?私は、一つには、本当に知りたいです。

4

2 に答える 2

1

「私が見たところ、このようなエイリアスでは、プログラマーが関数を呼び出すときに入力する文字が少なくなるように見えますが、これは些細なことのようです。」

それはVBを設計した人々も考えたものです。"これは何ですか

for (int i=0; i<10;i+=2){
}

もの!どうしたの:

For i as Integer = 0 To 10 Step 2
Next i 

だから私は13のキーストロークを節約します!それは些細なことです。」

これが私たち全員が行うことである場合、それ些細なことではありません。日。長さ。

jQuery Cycleプラグインを使用します:http://malsup.github.com/jquery.cycle.all.js。$のインスタンスが400個あります。$の代わりにjQueryを使用する場合、それは余分な2000キーストロークになります。これが、IDEがparensなどのオートコンプリートを実行するようになった理由です。

于 2012-08-27T02:03:28.387 に答える
0

jQueryとPrototypeを一緒に使用することはお勧めできません。理想的には、サイトには1つのjavascriptフレームワークと、それに対する多くの呼び出しが必要です。したがって、最良の(デフォルトの)選択は、そのメイン関数に省略形のエイリアスを使用することです。

とにかく、同じページで複数のライブラリ/フレームワークを一緒に使用する必要があり、競合を回避したい場合は、noConflictモードを使用できます。

于 2012-08-27T02:10:02.153 に答える