3

$() 使用と$.他の開発者の違いを理解したいと思います。

私の理解が進む限り、$()は 内のオブジェクトを指しますが、どのように機能するかについては明確でDOMはありません。以前にこの形式を使用したことがありますが、その仕組みがわかりませんでした。100%$.$.

例えば:

$.each(element, function() {});または$.fnなど...

このトピックに光と明快さを与えることは素晴らしいことです.

4

5 に答える 5

13

$識別子です。変数として使用されます。機能が割り当てられています。

関数の後に置く()と、それが呼び出されます。jQuery が割り当てる関数は、渡す引数の種類に応じてさまざまなことを行います。(それは恐ろしく過負荷です)。(たとえば、関数を渡すと、ドキュメント準備完了イベントが発生したときにその関数が呼び出されます。HTML の文字列を渡すと、その HTML の DOM 表現が作成され、jQuery オブジェクトでラップされます。 it a DOM node, it will wrap that node in a jQuery object. CSS セレクターを渡すと、ドキュメント内で一致する DOM ノードを検索し、それらを jQuery オブジェクトでラップします)。

JavaScript では、関数はオブジェクトです。オブジェクトはプロパティを持つことができます。経由でオブジェクトのプロパティにアクセスできます$.name_of_property。これらのプロパティには、関数 (または他のオブジェクト) を割り当てることもできます。

于 2013-08-16T15:02:36.087 に答える
5

基本的に$()は、コンストラクター関数です。これに DOM セレクターを渡すと、jQueryオブジェクトが返されます。

一方orはjQueryのプロトタイプ関数です。$.each $().each$. $().

編集:

私は @apsillers によって修正されたままです:$().eachはプロトタイプ関数ですが、$.(つまり)または で$.each直接定義されています。jQuery$

私の主張を裏付けるjQueryのコードサンプル:


jQuery.fn = jQuery.prototype = {
   .....
   .....
   .....
   // Execute a callback for every element in the matched set.
   // (You can seed the arguments with an array of args, but this is
   // only used internally.)
   each: function( callback, args ) {
      return jQuery.each( this, callback, args );
   },
   ....
   ....
};

ご覧のとおり$().eachprototype関数です。jQuery.each内部メソッドです。で直接定義されjQueryます。

jQuery ソース コードから取得。

于 2013-08-16T15:02:18.337 に答える
5

$()要素のリストを保持する jQuery インスタンス オブジェクトを作成します。メソッド

$インスタンス固有ではないメソッドをいくつか持つ、唯一無二の jQuery オブジェクトです。(他の言語から用語を借りるために、それらを「静的」メソッドと考えると役立つ場合があります)。

で識別されるこの唯一無二の jQuery オブジェクト$は関数です (これが として呼び出すことができる理由です$())。ただし、JavaScript の関数はオブジェクトであるため、プロパティとメンバー関数自体を持つことができます。

于 2013-08-16T15:02:52.323 に答える
2

$と同じものを指す短い名前の単なる変数ですjQuery$()は(関数としてjQuery()呼び出す) と同じで、は と同じです。オブジェクトのプロパティにアクセスします。関数オブジェクトは他のプロパティも持つことができます。jQuery$.foojQuery.foojQuery.foofoojQuery

于 2013-08-16T15:03:28.050 に答える