Ich habe kürzlich ein wenig Wissen über JavaScript zusammengestellt. In einigen Interviewfragen haben die formalen Parameter der Funktion und die in der Funktion deklarierten Variablen oder Funktionen denselben Namen. Für diejenigen, die es wissen wollen, lesen Sie weiter.
function ab(x){ console.log(x); var x; console.log(x); }; ab(3);
Dieses Ergebnis tritt auf, aber wenn der in der Funktion deklarierten Variablen ein Wert zugewiesen wird, wird der übergebene Parameter ersetzt.
function ab(x){ console.log(x); var x = 4; console.log(x); }; ab(3);
Die Ausgabe Ergebnis ist: .
Wenn die in der Funktion deklarierte Funktion denselben Namen wie der formale Parameter hat:
function ab(x){ console.log(x); function x(){ console.log("我是函数") }; console.log(x); }; ab(3);
Das Ausgabeergebnis ist:
Warum passiert das? Eine der Funktionen von JS ist die Funktionsdeklaration. Dies gilt auch innerhalb der Funktion OK, wenn ab aufgerufen wird, ist x nicht gleich 3, sobald es übergeben wird.
Aber die Art und Weise, anonyme Funktionen Variablen zuzuweisen, hat nicht die Funktion einer Funktion Deklarationsförderung, daher wird x nach der Deklaration geändert, wie unten gezeigt;
Das obige ist der detaillierte Inhalt vonVertieftes Verständnis von Funktionsparametern und Problemen bei der Deklaration von Variablen oder Funktionen mit demselben Namen innerhalb einer Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!