Heim >Web-Frontend >js-Tutorial >Verschlüsse und Ausführung von JavaScript auf der Seite laden

Verschlüsse und Ausführung von JavaScript auf der Seite laden

Lisa Kudrow
Lisa KudrowOriginal
2025-03-10 00:59:08899Durchsuche

Closures and executing JavaScript on page load

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!

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