私はそこに投稿を見ました:
しかし、私はまだそれを理解していません。誰かが私にこれを非常に簡単な言葉で説明できますか?なぜ彼らはそれをこのように指定することを選んだのですか?
私はそこに投稿を見ました:
しかし、私はまだそれを理解していません。誰かが私にこれを非常に簡単な言葉で説明できますか?なぜ彼らはそれをこのように指定することを選んだのですか?
$.fnの単なるエイリアスですjQuery.prototype。DataTablesなどのjQueryプラグイン$.fnを作成するには、通常、新しい関数プロパティをに追加することから始めます。
簡単に言うと、を書くときは$.fn.pluginName、 jQueryに呼び出される新しい関数を追加することで、jQueryのプロトタイプを拡張していることになります。このように、たとえば、を使用して呼び出すことができます。これは基本的にDataTablesが行うことであり、と呼ばれるjQueryの拡張機能を提供します。pluginName$("#myElement").pluginName()dataTablesExt
現在、このプラグインにはいくつかのプロパティがあります。それらの1つは、と呼ばれafnSortDataます(これは、を使用して参照することもできますjQuery.prototype.dataTableExt.afnSortData)。このように、プラグインのプロパティはオブジェクト/プラグインにスコープされます。dataTableExtDataTablesは、グローバル名前空間で定義することを選択できた可能性がありますが、この方法では、誰かがプラグインを上書きafnSortDataしたり{}、プラグインを壊したりする可能性があります。
jQueryでは、fnプロパティはプロトタイププロパティの単なるエイリアスです。
jQuery識別子(または$)は単なるコンストラクター関数であり、それを使用して作成されたすべてのインスタンスは、コンストラクターのプロトタイプから継承されます。
だからそれはただの略ですjQuery.prototype。
$.fn === jQuery.prototype
.prototypeとは何ですか?
JavaScriptでは、プロトタイプは継承を提供するメカニズムです。
例:String.prototypeStringsのプロトタイプオブジェクトを参照します。これには、(とりわけ)任意のStringで呼び出すことができるメソッドが含まれています。