Was ist der Unterschied zwischen diesen beiden.
$(document).ready(function(){ ... });
(function(){ ... })();
Werden diese beiden Funktionen gleichzeitig aufgerufen? Ich weiß, document.ready wird ausgelöst, wenn die gesamte HTML-Seite vom Browser gerendert wird, aber was ist mit der 2. Funktion (selbstaufrufende anonyme Funktion). Wartet es, bis der Browser das Rendern der Seite abgeschlossen hat, oder wird es aufgerufen, wenn es auftritt?
javascript
jquery
Ashit Vora
quelle
quelle
$(function() {});
ist gleichbedeutend mit$(document).ready(function() {});
Antworten:
$(document).ready(function(){ ... });
oder kurz$(function(){...});
Diese Funktion wird aufgerufen, wenn
DOM is ready
Sie beispielsweise Elemente abfragen können ..ready()
verwendet verschiedene Methoden in verschiedenen Browsern, um sicherzustellen, dass das DOM wirklich bereit ist.(function(){ ... })();
Das ist nichts anderes als eine Funktion, die sich so schnell wie möglich aufruft , wenn der Browser Ihre interpretiert
ecma-/javascript
. Daher ist es sehr unwahrscheinlich, dass Sie hier erfolgreich handeln könnenDOM elements
.quelle
(function(){ ... })();
JS-Code nicht so schnell wie möglich ausgeführt wird. Wenn Sie gesagt hätten, einalert()
innerhalb oder außerhalb des SIAF, wäre der Effekt nicht der gleiche?(function(){...})();
wird ausgeführt, sobald es im Javascript vorkommt.$(document).ready()
wird ausgeführt, sobald das Dokument geladen ist.$(function(){...});
ist eine Abkürzung für$(document).ready()
und macht genau das Gleiche.quelle
$(document).ready(function() { ... });
Bindet diese Funktion einfach an dasready
Ereignis des Dokuments. Wie Sie bereits sagten, wird das Ereignis beim Laden des Dokuments ausgelöst.(function($) { ... })(jQuery);
ist eigentlich ein Konstrukt von Javascript, und alles, was dieser Code tut, ist, dasjQuery
Objektfunction($)
als Parameter zu übergeben und die Funktion auszuführen , sodass er sich innerhalb dieser Funktion$
immer auf dasjQuery
Objekt bezieht . Dies kann helfen, Namespace-Konflikte usw. zu lösen.# 1 wird also ausgeführt, wenn das Dokument geladen wird, während # 2 sofort ausgeführt wird, wobei das
jQuery
Objekt$
als Kurzform bezeichnet wird.quelle
Der folgende Code wird ausgeführt, wenn das DOM (Document Object Model) für die Ausführung von JavaScript-Code bereit ist.
Die kurze Hand für den obigen Code lautet:
Der unten gezeigte Code ist eine selbstaufrufende anonyme JavaScript-Funktion und wird ausgeführt, sobald der Browser ihn interpretiert:
Die unten gezeigte selbstaufrufende Funktion von jQuery übergibt das globale jQuery-Objekt als Argument an
function($)
. Dies ermöglicht$
die lokale Verwendung innerhalb der selbstaufrufenden Funktion, ohne dass der globale Bereich für eine Definition durchlaufen werden muss. jQuery ist nicht die einzige Bibliothek, die davon Gebrauch macht.$
Dadurch werden potenzielle Namenskonflikte reduziert.quelle
document.ready wird ausgeführt, nachdem DOM "erstellt" wurde. Selbstaufrufende Funktionen werden sofort ausgeführt - wenn sie eingefügt werden
<head>
, bevor DOM erstellt wird.quelle
<head>
. Die Regeln unterscheiden sich nicht, nachdem das ursprüngliche DOM erstellt wurde.