2017-08-01 12 views
1

私はjQueryのを使用してテキストボックスにいくつかの文字を置き換えることについて疑問を持っていたと私は受け入れ答えはこのような何かを示唆しin this question.を上陸:パラメータ付きのJavascript匿名関数。これらのパラメータはどこに定義されていますか?

$("#mySelector").val(function(i, v) { //i, v... where they come from?? 
return v.replace("#","Custom Text"); 
}); 

正常に動作しますが、私はまだ同じ疑問を持っています。これらのパラメータは、ivです。彼らはどこから来て、どのようにデータで満たされていますか?彼らはどこにでも宣言されていません。この場合、ivはどのようにデータが必要ですか?

These answersこれについて話していますが、説明するのは簡単なことではありません。

質問は簡単です。無名関数のこれらのパラメータは、どのようにデータでいっぱいになりますか?どこに宣言しなければ、彼らはどこから来たのですか?

+4

:ここ

は、コールバックがどのように動作するかの簡単な例であるhttp://api.jquery.com/val/#val-function – Adam

答えて

4

jQueryライブラリがコールバックを呼び出すときに設定されます。ファンクションをパラメータとして$.valファンクションに渡していることに注意してください。 $.val関数は、渡された関数に値を渡します。ドキュメントを読んで

function coolFunction(callback) { // accepting callback 
 
    // extra processing here 
 
    callback(1, 2);     // calling the callback 
 
} 
 

 
coolFunction(function(a, b) { // passing function as callback 
 
    console.log('annonymous', a, b); 
 
});

+1

これはどのようにあります答えが書かれるべきです。短い、簡潔で分かりやすい。ありがとうございました! – SamyCode

+0

@SamyCode、私はあなたを助けることができてうれしいです!受け入れてくれてありがとう。 –

0

jQuery関数valは、渡された引数をチェックします。関数が見つかると、セレクタに含まれるすべての要素に対して呼び出されます。ここで、iはセレクタ内の要素のインデックスであり、vは値...つまり要素の値です。

関連する問題