0

私は次のものを持っています:

var doHandler = function (link, form, close) {
    var $form = form;
    var $link = link;
    var dialogTitle = $form.find("#Title").val();
    // some code
}

これを次のように変更したい:

function doTask(??) {
  var dialogTitle = $form.find("#Title").val();
  // some code
}
var doHandler = function (link, form, close) {
    var $form = form;
    var $link = link;
    doTask(??)
}

誰かが説明できますか:

  • 「var $form = form;」とは やっている
  • doTask $form または formにどのパラメータを渡す必要がありますか?
  • doTask の最初の行が $form または form を参照する必要があります
  • 同じファイルにある場合、呼び出す前に関数を宣言する必要がありますか?

申し訳ありませんが、何が違いで、なぜ $ がそこにあるのか、本当に混乱しています

4

7 に答える 7

4

これは、jQuery オブジェクトを宣言するための命名基準です。

したがって、 $を割り当てることで、たとえば変数が jQuery セレクターの結果を保持するようになります。

そして、フローを簡素化する方法の簡単な例を次に示します。

http://jsfiddle.net/YYNeA/16/

于 2012-06-20T09:02:07.117 に答える
4

割り当て$form = formは、投稿したコードからは何もしないように見えますが、何をするかによって異なります// some code

変数名の前に を付ける規則は$、変数が jQuery オブジェクトを保持していることを示すために使用されます。

コードが代わりに読み取られた場合

var $form = $(form);

次に、これはすべてを説明します:$formラップする jQuery オブジェクトですform(これはおそらくプレーンな DOM 要素です)。

その他の質問:

  • doTask仕事をするために必要なパラメータを渡す必要があります
  • ソースdoTaskに先行するかどうかは関係ありませんdoHandler
于 2012-06-20T09:02:07.167 に答える
1

変数名にa について特別なことは何もありません$。これは任意の変数に使用できます。

ただし、@Jonが指摘したように、接頭辞を付ける一般的な規則は$、jQuery オブジェクトを宣言することです。

于 2012-06-20T09:03:31.373 に答える
1
var $form = form;
    var $link = link;

これらは定義された変数です。$ を含む変数を宣言できます。

$form は可変オブジェクトです。jqueryオブジェクトにしたい場合。jqueryで囲みます。

例: $(form)// これは jquery オブジェクトです

于 2012-06-20T09:01:46.180 に答える
0

var $form変数名を宣言していることを意味します$form

var $form = formフォーム値を変数 $form に割り当てていることを意味します

あなたの $link と同じ

于 2012-06-20T09:04:10.303 に答える
0

この$文字は、変数を定義するときに使用できる有効な文字です。

$オブジェクト自体が jQuery オブジェクトの場合、通常は変数に追加された文字を使用します。それ以外には、追加情報は添付されていません。

于 2012-06-20T09:02:45.170 に答える
0

この文字$は、他の有効な文字と同様に変数名で使用でき、a を含む変数名$は言語で特別な意味を持ちません。

フォームとリンクの変数はローカル変数であるため、それらを使用するには関数に渡す必要があります。

関数は、同じ (または前の) ファイルまたは同じ (または前の) スクリプト ブロック内にある限り、それを使用するコードの上で定義する必要はありません。

doTask関数では、 variable も variable も使用しません。どちらも関数formに対して$formローカルであるためdoHandlerです。関数に送信されるパラメーターを使用します。このパラメーターにはformまたはという名前を付けることもできます$formが、まったく別の名前を付けることもできます。

var doHandler = function (link, form, close) {
  var $form = form;
  var $link = link;
  doTask($form, $link);
};

function doTask(someForm, someLink) {
  var dialogTitle = someForm.find("#Title").val();
  // some code
}

linkただし、パラメータとformをローカル変数$linkおよびにコピーするのは無意味に思え$formます。パラメータを使用することもできます:

var doHandler = function (link, form, close) {
  doTask(form, link);
};

function doTask(someForm, someLink) {
  var dialogTitle = someForm.find("#Title").val();
  // some code
}
于 2012-06-20T09:07:50.497 に答える