Ich versuchte googlen, aber Google scheint sich nicht um Klammern zu kümmern ...Was bedeutet es, wenn eine Funktion mit}) (jQuery) endet?
Antwort
Wenn Sie dies sehen:
(function($) {
// ...code using $...
})(jQuery);
Es tut zwei Dinge:
- eine anonyme Funktion definieren, die
$
als Verweis auf jQuery verwendet. - Rufen Sie an, vorbei an
jQuery
.
Man könnte es wie folgt tun:
function foo($) {
// ...code using $...
}
foo(jQuery);
... aber das bedeutet ein unnötiges Symbol.
All dies ist, weil jQuery hat das Symbol jQuery
und das Symbol $
, aber es ist nicht ungewöhnlich, dass Menschen jQuery.noConflict()
zu verwenden jQuery zu sagen $
zurück zurückkehren, was es war, als jQuery geladen, weil ein paar anderen populärer Bibliotheken (Prototype und MooTools, um zwei zu nennen) verwenden Sie $
und dies ermöglicht es jemandem, diese Bibliotheken und jQuery zusammen zu verwenden. Aber Sie können immer noch $
innerhalb Ihrer Funktion verwenden, weil das Argument Schatten, was auch immer dieses Symbol außerhalb der Funktion bedeutet.
Warum eine anonyme Funktion verwenden? Wenn es anonym und nicht wiederverwendbar ist, warum sollte es dann funktionieren? Warum nicht Ausdrücke verwenden? – polyhedron
@polyedron - Diese Funktion soll nur einmal ausgeführt werden, daher ist kein Name erforderlich. Der Punkt T.J.macht, dass '$' zu einer lokalen Variable innerhalb der Funktion wird, die auf die globale 'jQuery'-Variable verweist. Wenn Sie '$' als globale Variable haben, liegt ein Konflikt vor, wenn eine andere Bibliothek denselben globalen Variablennamen verwendet. Auf diese Weise ist es privat und daher geschützt. – user113716
@polyedron: In JavaScript können nur * Funktionen einen neuen Bereich erstellen. Sie müssen also eine Funktion verwenden, wenn Sie eine private Variable erstellen möchten. –
Es im Grunde automatisch ruft die anonyme/Lambda-Funktion definiert und liefert die jQuery
Referenz darauf.
Ziemlich genau das gleiche wie functionCall(jQuery)
außer Sie definieren es und rufen es in der gleichen Zeile/Ausdruck auf.
diese in der Regel in der Form sind ...
(function($) {
// do something with $
})(jQuery);
Was bedeutet, dass die Funktion tatsächlich etwas tut mit jQuery
(es function(a) {...}
definiert und geht dann jQuery
in als a
), aber es will in der Lage sein, zu verwenden $
statt jQuery
innerhalb der Funktion. Diese
ermöglicht Dinge wie $(this)
und so weiter auch wenn jQuery aufgerufen wird, in No-Konflikt-Modus (und damit $
würde sich nicht auf jQuery normal).
- 1. Was bedeutet T in Timestamp 20160322T192202, wenn es nicht mit 'Z' endet?
- 2. Was bedeutet es, eine Funktion in eine Tabelle umzuwandeln?
- 3. Was bedeutet es für eine Hash-Funktion, inkrementell zu sein?
- 4. Was bedeutet es, eine Funktion in Python "aufzurufen"?
- 5. Was bedeutet es, wenn eine Perl-Methode einen "hashref" zurückgibt?
- 6. Was bedeutet $ ([]) in jQuery?
- 7. Was bedeutet es, wenn AuthorizationExecuteWithPrivileges() -1 zurückgibt?
- 8. Was bedeutet es, wenn eine Struktur keine Identität hat?
- 9. Was bedeutet es, wenn eine Mitgliedsfunktion flüchtig ist?
- 10. Was bedeutet eine Funktion ohne Körper?
- 11. Was bedeutet $ ([]) in jQuery
- 12. Was bedeutet diese jQuery?
- 13. Was bedeutet es, eine Serviceverbindung zu verlieren?
- 14. Was bedeutet es, wenn Zahlen mit U enden
- 15. Was bedeutet es, eine Datenbank abzusaugen?
- 16. Was bedeutet es, eine Steckdose zu spülen?
- 17. Was bedeutet es, auf GitHub zu verzweigen?
- 18. Was bedeutet eine Kotlin-Signatur mit T.()?
- 19. was jQuery bedeutet Ereignis Ausdruck, wenn es einen Punkt hat es in
- 20. Was bedeutet Schlüsselwort `return` in` forEach` Funktion?
- 21. numpy cov (Kovarianz) Funktion, was genau bedeutet berechnen es?
- 22. finden, wo eine Funktion beginnt und endet
- 23. Was bedeutet eine leere Parameterliste?
- 24. Was bedeutet es, $ ('body') .html ('') in jQuery zu verwenden?
- 25. ID endet mit und appendchild/jquery/javascript
- 26. Was bedeutet es in Haskell, wenn eine Bindung "eine bestehende Bindung überschattet"?
- 27. Was ist POI und was bedeutet es?
- 28. Was bedeutet es, eine PHP-Funktion mit einem kaufmännischen Und-Zeichen zu starten?
- 29. Was genau bedeutet es, wenn $ _FILES leer ist?
- 30. wechseln (! 0) Was bedeutet es
http://stackoverflow.com/questions/3458283/in-javascript-what-does-this-syntax-mean und http://stackoverflow.com/questions/2309614/what-does-this-javascript-jquery -Syntax-Mittelwert SO hat seine eigene Suche. Ich habe diese Antwort mit dem Titel Ihrer Frage gefunden. – user113716
Schön, dass Sie diese Frage gestellt haben, wir alle benutzen das und wissen nicht, was es tut. Ich habe es jetzt geklärt. – kobe
@gov - Diese Frage wird ständig gestellt. Hier ist ein anderer: http://stackoverflow.com/questions/2937227/jquery-what-does-function-jquery-mean und ein anderer: http://stackoverflow.com/questions/2976089/can-someone-explain-what-the -syntax-bedeutet-wenn-definieren-ein-jquery-plugin und andere: http://stackoverflow.com/questions/2464635/what-does-function-jquery-do-mean – user113716