Wenn wir JavaScript und jQuery verwenden, müssen wir normalerweise auf die Ausführungsreihenfolge des Codes achten, insbesondere wenn es um asynchrones Laden, Abhängigkeiten, Ereignisrückrufe usw. geht, müssen wir sorgfältig nachdenken. Eine der häufigsten Fragen lautet: Wird jQuery alle js sofort nach dem Laden ausführen?
Zuerst müssen wir einige Grundlagen verstehen. Es gibt zwei Möglichkeiten, JavaScript-Dateien im Browser zu laden: synchron und asynchron.
Synchrones Laden bedeutet, dass der Browser beim Parsen von HTML-Tags die JavaScript-Dateien einzeln in der Reihenfolge der Tags lädt und nach Abschluss des Ladevorgangs den JavaScript-Code der Reihe nach ausführt. Diese Methode ist relativ einfach. Wenn die Seite jedoch eine große Anzahl von JavaScript-Dateien enthält, wirkt sich dies auf die Ladegeschwindigkeit der Seite aus, da der Browser die JavaScript-Dateien herunterladen muss, bevor er andere Teile der Seite weiter laden kann, wodurch die Seite beschädigt wird langsam laden.
Asynchrones Laden bedeutet, dass der Browser beim Laden von HTML-Tags das Laden anderer Teile der Seite nicht blockiert. Wenn eine JavaScript-Datei geladen werden muss, lädt der Browser die Seite weiter und lädt die JavaScript-Datei asynchron. Wenn die JavaScript-Datei geladen wird, führt der Browser sie nicht sofort aus und die Reihenfolge der Ausführung hat nichts mit der Reihenfolge zu tun, in der die Dateien geladen werden. Im Allgemeinen werden asynchron geladene JavaScript-Dateien sofort nach dem Laden der Seite ausgeführt, dies ist jedoch nicht absolut.
Also zurück zur Frage selbst: Wird jQuery es sofort ausführen, nachdem alle js-Dateien geladen wurden? Die Antwort ist nicht unbedingt.
Wenn wir zum Laden der js-Dateien von jQuery synchrones Laden verwenden, wird jQuery sofort ausgeführt, nachdem alle js-Dateien geladen wurden. Denn beim synchronen Laden muss der Browser zunächst die JavaScript-Datei laden, bevor er mit dem Parsen der HTML-Tags fortfahren kann. Daher wird der Code nach dem Laden der jQuery-JS-Datei sofort ausgeführt.
In modernen Webanwendungen verwenden wir jedoch häufiger das asynchrone Laden zum Laden von JavaScript-Dateien, da dies die Seitenladegeschwindigkeit verbessern und auch bei der Codeoptimierung und -wartung helfen kann. In diesem Fall wird die js-Datei von jQuery nicht sofort nach dem Laden ausgeführt, da der Browser weiterhin andere Teile der Seite lädt. Das heißt, wenn die js-Datei von jQuery geladen wird, wird sie nicht sofort ausgeführt Der Browser schließt das Parsen und Rendern der Seite ab und wartet darauf, dass alle asynchronen Skripte geladen und analysiert werden, bevor jQuery ausgeführt wird.
Es ist jedoch zu beachten, dass, wenn wir die Dokumentladeereignisse von jQuery wie $(document).ready() oder $(function(){}) im Code verwenden, diese Ereignisse sofort nach dem Laden von jQuery ausgelöst werden . umsetzen. Da diese Ereignisse an das Dokumentobjekt gebunden sind und das Dokumentobjekt erst geladen wird, wenn die Seite analysiert und gerendert wird. Daher wird beim asynchronen Laden der jQuery-JS-Datei das an das Dokumentobjekt gebundene Ereignis ausgelöst und ausgeführt, obwohl der Code nicht sofort ausgeführt wird. ready( ) oder $(function(){}) und anderer Ereigniscode zum Laden von jQuery-Dokumenten werden unmittelbar nach dem Laden von jQuery ausgeführt.
Zusammenfassend lässt sich sagen, dass es von der Lademethode und der Codelogik abhängt, ob alle jQuery-JS sofort ausgeführt werden. Wenn es sich um eine synchrone Lademethode handelt und der Code nicht an das Dokumentladeereignis gebunden ist, wird er unmittelbar danach ausgeführt Laden; Wenn es sich um eine asynchrone Lademethode oder einen Code handelt, der an ein Dokumentladeereignis gebunden ist, müssen Sie auf die Ausführungsmöglichkeit warten. Daher müssen Sie beim Schreiben von JavaScript-Code für Webseiten die Methoden und Prinzipien des Ladens von JavaScript und jQuery vollständig verstehen, um den Code besser zu optimieren und die Anwendungsleistung zu verbessern.
Das obige ist der detaillierte Inhalt vonWird jquery ausgeführt, nachdem alle js geladen wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!