5

誰かが私にjquery$との違いを説明する努力をすることができますか?$()

$()は、その省略形$jQuery()が任意のDOM要素を取り、それをjQueryオブジェクトに変換することを知っています。

しかし、私にはわからないのは、それが何であるか、$そしてそれがどのように違うかということです$()。親切に教えてください。

ヒープに感謝します、Chaitanya

4

6 に答える 6

20

$呼び出すことができる関数$()です- 。

以下のすべての例ではオブジェクトが返されますが、の動作は$()指定されたパラメーターによって大きく異なります。できる:jQuery

  1. document.readyハンドラーを登録する-$(myfunc)
  2. セレクターとして機能します-$('#myid')
  3. 要素を構成する-$('<div>')
  4. 空のオブジェクトを返す-$()

$また、そのオブジェクトのプロパティとしてさまざまな効用関数$.eachなどを含むオブジェクトです。このコンテキストでは、これらの関数の名前空間のように機能します。

于 2012-07-03T11:20:08.807 に答える
6

$ = jQuery-これは、またはなどのjQueryユーティリティに使用されるjQueryオブジェクト$.Ajax()です。$.each()したがってvar j = $;、jqueryプロトタイプを変数に割り当てますj

$()= jQuery()-これは、DOM要素をjQueryオブジェクトに変換するか、セレクターを使用してjQueryオブジェクトを取得するために使用されるルートjQueryオブジェクトから呼び出される関数です。

于 2012-07-03T11:20:28.887 に答える
4

これが役に立ち、他の投稿に追加することを願っています:)

  • $ = は有効な JavaScript オブジェクト/識別子です。

  • $()= $() を呼び出すと、空の jQuery オブジェクトが作成されます。

jQuery() — $() と書くこともできます — 提供されたセレクターに一致する要素を DOM で検索し、これらの要素を参照する新しい jQuery オブジェクトを作成します。

公式ドキュメント こちらのドキュメントをお読みください (クリックしてください)このドキュメントを読むことを強くお勧めします。

あなたの質問は、2 つの個別の質問の組み合わせです。以下を参照してください。

于 2012-07-03T11:23:44.887 に答える
2

関数を作成する場合:

function my_function(){alert('my_function'); return(33)}

my_function関数を含む変数です。 my_function()関数呼び出しの結果です。

関数呼び出しmy_function()を使用して、関数内の命令を実行したり、返された結果を変数に取得したりしますvar my_var = my_function();

関数の変数名を使用して、次のようなパラメーターとして別の関数に渡します。$('a').click(my_function);

JavaScriptでは、変数はスカラー(リテラル値)、配列、オブジェクト、関数を含むあらゆる種類のものである可能性があるためです。

今、そのアイデアを取り入れて、それに基づいて構築します。

$単なる変数名であるのと同じように、jQueryは単なる変数名です。

たまたま、この変数には関数が含まれています。これは、関数本体に存在するすべての命令を意味する$()か、実行します。jQuery()$

于 2012-07-03T11:20:56.017 に答える
0

$ajaxはjQuery名前空間への参照であり、静的メソッド(たとえば、eachなど)にアクセスしながら$()、DOM対応のコールバックを登録する(関数が渡された場合)か、DOMから要素を返す(関数が渡された場合)関数を呼び出します(セレクター文字列または要素が渡された場合)。

ちなみに、$はの省略形でありjQuery、ではありません$jQuery

于 2012-07-03T11:20:00.427 に答える
0

Javascript では、すべてがデータであり、これには関数が含まれます。不自然な例として:

function test() {
  console.log("test");
}

この例でtest()は、関数の呼び出しです。単純に使用testすることは、次のようなことができる変数を使用するようなものです。

var t = test;
t();

これによりt、 と同じデータ/機能が得られtestます。

これにより、クロージャーのようなことができます。

function closure() {
  var i = 0;
  function inner() {
    i++;
    console.log(i);
  }

  return inner;
}

関数は単なるデータであるため、関数を返してから呼び出すことができます。したがって、次のように記述します。

var t = closure();
t(); // prints '1'
t(); // prints '2'

他の利点の中でも、これを行うと、名前空間が少しすっきりした状態に保つことができます。

あなたの質問に直接答えるには、次のようにして作成された$単なるエイリアスです。jQuery

function jQuery() { /* Lots of code */ }
$ = jQuery;
于 2012-07-03T11:26:27.433 に答える