Phänomen:
1. In JavaScript wird die Erklärung von Variablen und Funktionen zur obersten Ausführung gefördert.
2. Die Verbesserung der Funktion ist höher als die Verbesserung der Variablen.
3. Wenn eine externe Variable mit demselben Namen in der Funktion mit Var deklariert wird, sieht die Funktion nicht mehr nach oben aus.
4.. Anonyme Funktionen werden nicht befördert.
5. Funktionen in verschiedenen <Script> -blöcken beeinflussen sich nicht.
Beispiel:
Funktionserklärung Promotion höher als die variable Deklaration
// die Variable A deklarieren und AVAR A; Funktion a () {} alert (typeof a); // Die "Funktion" wird angezeigt, was vorläufig beweist, dass die Priorität der Funktion höher ist als var. // Deklarieren Sie zuerst die Funktion und deklarieren Sie dann die Variable, um zu beweisen, dass das obige Beispiel nicht die Variablenfunktion a () {} var a überschreibt; alarm (typeof a); // Die Anzeige ist immer noch "Funktion", nicht "undefiniert", dh die Priorität der Funktion ist höher als var. // die Variable deklarieren und die Wertfunktion a () {} var a = 1; alert (typeof a) zuweisen; // Nummer, es ist derzeit keine Funktion. // Hinweis: "var a = 1" entspricht "var a; a = 1", dh zuerst deklarieren und dann einen Wert zuweisen. "a = 1" entspricht der Neuzuweisung von A, was natürlich die Zahl ist!Die Funktion verwendet var, um dieselbe Variable wie die Außenseite zu definieren, und die Funktion sucht nicht mehr nach externen Variablen nach oben.
var value = 'Hallo'; Funktion show () {alert (value); if (! value) {var value = 'Funktion'; } alert (value);} show () // Die Funktion wird hier aufgerufen und taucht "undefined", "Funktion" // Das obige Beispiel entspricht Var Value = 'Hello'; Funktion show () {var value; // beachten Sie diesen Zeilenalarm (Wert); if (! value) {value = 'Funktion'; // Diese Zeile entfernt var} alert (Wert);} show () // 1. Wenn der interne Wert in der Show in der obigen Spalte nicht var verwendet wird, wird eine externe Variable verwendet, und "Hallo" wird "Hallo" angezeigt. // 2. Wenn der Wert innerhalb der Funktion nicht definiert ist, kann auch der Wert von außen erhalten werden.Anonyme Funktionen verbessern sich nicht nach oben
getName () var getName = function () {alert ('closle')} Funktion getName () {alert ('function')} getName () // Der obige Code ist äquivalent zu funct taucht auf "Funktion" und "Schließung"Funktionen in verschiedenen <Script> -blöcken beeinflussen sich nicht gegenseitig
<Script> getName () var getName = function () {alert ('cl.')} <Script> <Script> Funktion getName () {alert ('function')} <Script> // Code -Ausführungsfehler: TypeError: GetName ist keine Funktion //, weil die Funktion getName () im ersten <script> nicht definiert ist.Die obige kurze Diskussion über die Verbesserung von Variablen und Funktionserklärungen in JavaScript ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.