Dieser Beitrag erweitert eine zuvor veröffentlichte Technik zum Ausführen von Javascript -Code nach dem Laden einer Webseite. Der Kerncode verwendet JavaScript -Schließungen:
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } addLoadEvent(nameOfSomeFunctionToRunOnPageLoad); addLoadEvent(function() { /* more code to run on page load */ });
Ein Verschluss bündelt eine Funktion mit seiner umgebenden lexikalischen Umgebung (zugängliche Variablen). Dies ist in JavaScript besonders mächtig. Betrachten Sie dieses Beispiel:
function createAdder(x) { return function(y) { return y + x; } } addThree = createAdder(3); addFour = createAdder(4); document.write('10 + 3 is ' + addThree(10) + '<br>'); document.write('10 + 4 is ' + addFour(10));
createAdder(x)
Gibt eine Funktion zurück. Entscheidend ist, dass die zurückgegebene Funktion (ein Verschluss) den Wert von x
aus ihrem Erstellungskontext "erinnert". addThree
fügt 3 hinzu, addFour
fügt 4 hinzu, was die Erhaltung des Verschlusses zeigt.
Die Funktion addLoadEvent
nutzt Abschluss, um mehrere window.onload
Handler zu verwalten. Wenn window.onload
bereits definiert ist, wird die neue Funktion eingehüllt, um sicherzustellen, dass sowohl die vorhandenen als auch die neuen Funktionen nacheinander auf Seite geladen werden. Auf diese Weise können mehrere Aufrufe an addLoadEvent
verkettet werden, wodurch eine Warteschlange von Funktionen erstellt wird, die auf Seite geladen werden.
Schließungen sind ein starkes Werkzeug, erfordern jedoch Verständnis. Weitere Erkundungen werden empfohlen (siehe den im ursprünglichen Beitrag verlinkten Wikipedia -Artikel).
häufig gestellte Fragen:
Dieser Abschnitt befasst sich mit häufigen Fragen zu JavaScript -Schließungen und der Seitenlastausführung und liefert präzise Antworten. Der ursprüngliche FAQ -Abschnitt wird beibehalten, jedoch um eine verbesserte Lesbarkeit und SUKTIVERSICHT reformatiert. Keine Informationen gehen verloren. Die Fragen und Antworten werden für einen besseren Fluss und zur Vermeidung von Redundanz umgestellt.
Das obige ist der detaillierte Inhalt vonVerschlüsse und Ausführung von JavaScript auf der Seite laden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!