2017-08-01 3 views
1

hatte ich einen Zweifel über einige Zeichen in einem Textfeld mit jQuery zu ersetzen und ich landete in this question. Die akzeptierte Antwort so etwas wie dies vorgeschlagen:Javascript anonyme Funktionen mit Parametern. Wo sind diese Parameter definiert?

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

Das funktioniert gut, aber ich habe immer noch die gleichen Zweifel. Diese Parameter, i und v. Woher kommen sie und wie sind sie mit Daten gefüllt? Sie sind nirgendwo deklariert. Wie haben i und v in diesem Fall die Daten, die ich brauche?

These answers sprechen Sie darüber, aber es scheint nur eine überkomplizierte Erklärung für was sein sollte, eine einfache Sache zu erklären.

So ist die Frage einfach. Wie in der Welt diese Parameter in der anonymen Funktion, mit Daten gefüllt werden. Woher kommen sie, wenn ich sie nirgends deklariere?

+4

Lesen Sie die Dokumentation: http://api.jquery.com/val/#val-function – Adam

Antwort

4

Sie werden festgelegt, wenn die jQuery-Bibliothek den Rückruf aufruft. Beachten Sie, dass Sie eine Funktion als Parameter an die Funktion $.val übergeben. Die $.val Funktion übergibt Werte an die Funktion, die Sie an es übergeben haben.

Hier ist ein einfaches Beispiel dafür, wie Rückrufe arbeiten:

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

Dies ist, wie Eine Antwort sollte geschrieben werden. Kurz, prägnant und einfach zu verstehen. Vielen Dank! – SamyCode

+0

@SamyCode, ich bin froh, dass ich dir helfen konnte! Danke für's Annehmen. –

0

Die jQuery-Funktion val prüft das übergebene Argument. Wenn eine Funktion gefunden wird, wird sie für jedes im Selektor enthaltene Element aufgerufen, wobei i der Index des Elements im Selektor und v der Wert ... dh der Wert des Elements ist.

Verwandte Themen