Heim  >  Artikel  >  Web-Frontend  >  Funktionsdeklarationen haben in JavaScript Vorrang vor Variablendeklarationen

Funktionsdeklarationen haben in JavaScript Vorrang vor Variablendeklarationen

高洛峰
高洛峰Original
2016-11-26 09:16:211117Durchsuche

Deklarieren Sie denselben Bezeichner mit var und function. Was ist es am Ende?
var a; // Deklariere eine Variable mit dem Bezeichner a
function a() { // Deklariere eine Funktion mit dem Bezeichner a
}
alert(typeof a);
Was ist Dargestellt ist „Funktion“, d. h. die Funktion hat eine höhere Priorität als die Variable.
Einige Leute glauben, dass dies der Grund ist, warum der Code sequentiell ausgeführt wird, das heißt, dass a durch die später ausgeführte Funktion überschrieben wird. Okay, tausche sie aus.
function a() {
}
var a;
alert(typeof a);

Das Ergebnis zeigt immer noch „function“ anstelle von „undefiniert“. Das heißt, Funktionsdeklarationen haben Vorrang vor Variablendeklarationen.
Wir ändern den Code leicht und weisen bei der Deklaration von a einen Wert zu.
function a() {
}
var a = 1; // Hinweis hier
alert(typeof a);

Zu diesem Zeitpunkt wird „Nummer“ angezeigt, aber nicht „Funktion“, dies entspricht
function a() {
}
var a;
a = 1; // Beachten Sie hier
alert(typeof a);
Das Das heißt, „var a = 1“ in zwei Schritte aufteilen. a wurde neu zugewiesen, natürlich ist es der letzte Wert.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn