1

私はそこに投稿を見ました:

$.fnはどういう意味ですか

しかし、私はまだそれを理解していません。誰かが私にこれを非常に簡単な言葉で説明できますか?なぜ彼らはそれをこのように指定することを選んだのですか?

4

2 に答える 2

5

$.fnの単なるエイリアスですjQuery.prototype。DataTablesなどのjQueryプラグイン$.fnを作成するには、通常、新しい関数プロパティをに追加することから始めます。

簡単に言うと、を書くときは$.fn.pluginName、 jQueryに呼び出される新しい関数を追加することで、jQueryのプロトタイプを拡張していることになります。このように、たとえば、を使用して呼び出すことができます。これは基本的にDataTablesが行うことであり、と呼ばれるjQueryの拡張機能を提供します。pluginName$("#myElement").pluginName()dataTablesExt

現在、このプラグインにはいくつかのプロパティがあります。それらの1つは、と呼ばれafnSortDataます(これは、を使用して参照することもできますjQuery.prototype.dataTableExt.afnSortData)。このように、プラグインのプロパティはオブジェクト/プラグインにスコープされます。dataTableExtDataTablesは、グローバル名前空間で定義することを選択できた可能性がありますが、この方法では、誰かがプラグインを上書きafnSortDataしたり{}、プラグインを壊したりする可能性があります。

于 2012-09-10T14:28:28.263 に答える
1

jQueryでは、fnプロパティはプロトタイププロパティの単なるエイリアスです。

jQuery識別子(または$)は単なるコンストラクター関数であり、それを使用して作成されたすべてのインスタンスは、コンストラクターのプロトタイプから継承されます。


出典:jQuery.fnはどういう意味ですか?

だからそれはただの略ですjQuery.prototype

$.fn === jQuery.prototype

.prototypeとは何ですか?

JavaScriptでは、プロトタイプは継承を提供するメカニズムです。

例:String.prototypeStringsのプロトタイプオブジェクトを参照します。これには、(とりわけ)任意のStringで呼び出すことができるメソッドが含まれています。

于 2012-09-10T14:24:37.357 に答える