Frage

Ich habe mich gefragt, was der Unterschied bei der Verwendung von JQuery oder nicht der Verwendung der folgenden Aufgabe berücksichtigt. Ich habe noch keine Antwort gefunden.

JQuery:

jQuery(function() { alert("Hello World!"); })
$(function() { alert("Hello World!"); })

Reine JavaScript:

(function() { alert("Hello World!"); })()

Was ist der Unterschied? Wann sollte ich den Ansatz verwenden? Vielen Dank!

War es hilfreich?

Lösung

Im Algemeinen, $(function() { alert("Hello World!"); }) wartet auf $(document).ready() und die andere Funktion (a Iife) Feuer sofort.

Die von JQuery verpackte Funktion ist jedoch ein sehr spezifischer Anwendungsfall (Warten auf das DOM, mit jQuery). Ihre beiden Beispiele haben ansonsten nichts miteinander verbunden. Verwechseln Sie sie nicht als 2 Versionen desselben.

Andere Tipps

$(function(){
  alert("hello world");
});

ist eine kurze Hand für:

$(document).ready(function(){
    alert("hello world");
});

Es wird also nach DOM -Lasten ausgeführt.

Während Sie reine JS vor DOM ausgeführt werden.

Die JQuery -Version bindet, um nach dem Laden des DOM ausgeführt zu werden. Die Art in nur einen Schließung führt, sobald sie definiert ist. Wenn Sie möchten, dass es sofort ausgeführt wird, verwenden Sie die zweite Version, wenn es warten sollte, bis alles geladen ist, die erste verwenden.

Zumindest habe ich das von meinem Kopf gestoßen.

Der Hauptunterschied besteht darin, dass die JQuery -Funktionen nach dem Laden des DOM ausgeführt werden. Und die reine JavaScript -Lambda -Funktion wird sofort (innerhalb ihres Kontextes) ausgeführt.

Die zweite JQuery -Funktion ist für die erste Kurzschrift.

Sie können die JavaScript -Lambda -Funktion immer noch in den Jquery -Wrapper einfügen. Dies würde bedeuten, dass die Lambda -Funktion gleich nach dem Laden des DOM ausgeführt wird (dank JQuery, die sich darum kümmern).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top