Intenté googlear, pero a Google no parece importarle paréntesis ...¿Qué significa cuando una función termina con}) (jQuery) ;?
Respuesta
Si ve esto:
(function($) {
// ...code using $...
})(jQuery);
que está haciendo dos cosas:
- Definición de una función anónima que utiliza
$
como su referencia a jQuery. - Llamándolo, pasando
jQuery
.
Se podía hacerlo de esta manera:
function foo($) {
// ...code using $...
}
foo(jQuery);
... pero que crea un símbolo innecesario.
Todo esto se debe a que jQuery tiene el símbolo jQuery
y el símbolo $
, pero no es raro que las personas que utilizan jQuery.noConflict()
para contar jQuery para volver $
volver a lo que era cuando jQuery cargado, porque un par de otras bibliotecas populares (Prototype y MooTools, por nombrar dos) usan $
y esto permite que alguien use esas bibliotecas y jQuery juntas. Pero aún puede usar $
dentro de su función, porque el argumento sombrea lo que significa ese símbolo fuera de la función.
¿por qué utilizar una función anónima? Si es anónimo y no reutilizable, ¿por qué hacerlo funcionar? ¿por qué no usar expresiones? – polyhedron
@polyhedron: esta función se ejecuta solo una vez, por lo que no es necesario un nombre. El punto T.J.está haciendo que '$' se convierta en una variable local dentro de la función, donde hace referencia a la variable global 'jQuery'. Si tiene '$' como variable global, habrá un conflicto si otra biblioteca usa el mismo nombre de variable global. De esta manera es privado y, por lo tanto, está protegido. – user113716
@polyhedron: en JavaScript, las funciones * only * pueden crear un nuevo ámbito, por lo que debe usar una función si desea crear una variable privada. –
Básicamente, invoca automáticamente la función anónima/lambda definida y proporciona la referencia jQuery
.
Más o menos lo mismo que functionCall(jQuery)
excepto que lo define y lo invoca en la misma línea/expresión.
lo general, estos son de la forma ...
(function($) {
// do something with $
})(jQuery);
Lo que significa que la función está haciendo algo con jQuery
(que define function(a) {...}
y luego pasa jQuery
en tan a
), pero quiere poder para usar $
en su lugar jQuery
dentro de la función.
Esto permite cosas como $(this)
y así sucesivamente incluso si jQuery se invoca en el modo n-Conflicto (y por lo tanto $
no se referiría a jQuery normalmente).
- 1. ¿Qué significa seguir una función con (jQuery, ventana, documento); ¿media?
- 2. Activa un evento personalizado con javascript (o jquery) cuando termina mi función
- 3. "newing" una función en JavaScript, ¿qué significa?
- 4. ¿Qué significa `* &` en una declaración de función?
- 5. ¿Qué significa $ ([]) en jQuery
- 6. ¿Qué significa este código jQuery con corchetes y una referencia?
- 7. ¿Cómo hago algo cuando termina una animación?
- 8. ¿Por qué encapsulo una función jQuery dentro de jQuery (función ($) {});
- 9. jquery: ¿qué significa exactamente "$ (this)"?
- 10. ¿Qué significa esto "(function() {});", una función entre paréntesis, en javascript?
- 11. ¿Qué significa "$ .something" en jquery?
- 12. ¿Qué significa cuando `Ex` se agrega a una función/nombre de método?
- 13. ¿Qué significa "..." cuando está al lado de un parámetro en una declaración de función go?
- 14. ¿Qué significa "return this.each()" en jQuery?
- 15. ¿Qué significa: = significa cuando se usa en pseudocódigo?
- 16. ¿Qué significa exactamente la función google.setOnLoadCallback (initialize)?
- 17. ¿Qué significa const después de una firma de función/método?
- 18. ¿Qué evento activó la función con jQuery?
- 19. ¿Por qué el enlazador termina conmigo? cuando construyo CLang
- 20. ¿Qué significa -fPIC cuando construyes una biblioteca compartida?
- 21. ¿Qué significa /([^.]*)\.(.*)/?
- 22. ¿Qué significa la declaración de función "subfunción ($$)"?
- 23. ¿Qué significa cuando los números terminan con U
- 24. ¿Qué significa exactamente cuando $ _FILES está vacío?
- 25. Con Ember y Ember-data: ¿Cómo configurar la devolución de llamada cuando una tienda termina de cargarse y/o cuando una vista asociada termina de volver a renderizarse?
- 26. Tipo de variable que termina con?
- 27. ¿Cómo saber que una cadena comienza/termina con una cadena específica en jQuery?
- 28. ¿Qué significa * & en un parámetro de función
- 29. ¿Qué significa "..." en una declaración de función C?
- 30. ¿Qué significa que una función hash sea incremental?
http://stackoverflow.com/questions/3458283/in-javascript-what-does-this-syntax-mean y http://stackoverflow.com/questions/2309614/what-does-this-javascript-jquery -sintant-mean SO tiene su propia búsqueda. Encontré estas respuestas usando el título de tu pregunta. – user113716
bueno, usted hizo esta pregunta, todos usamos esto y no sabemos lo que hace. Lo tengo clarificado ahora. – kobe
@gov - Esta pregunta se hace todo el tiempo. Aquí hay otro: http://stackoverflow.com/questions/2937227/jquery-what-does-function-jquery-mean y otro: http://stackoverflow.com/questions/2976089/can-someone-explain-what-the -syntax-means-when-defining-a-jquery-plugin y otro: http://stackoverflow.com/questions/2464635/what-does-function-jquery-do-mean – user113716