(function ($) {
...
}) (jQuery);
Respuesta
Para evitar conflictos con otras bibliotecas de JavaScript que también usan $
.
Este método, sin embargo, le permite usar $
en esa función a su voluntad, sin necesidad de utilizar jQuery
allí.
Ese patrón también es importante al escribir complementos de jquery.
Se crea una función, con $
como argumento, e inmediatamente se ejecuta esa función con jQuery
como argumento. De hecho, esto asegurará que $
apunta a jQuery
dentro de su código, incluso si se usa jQuery.noConflict()
.
De esta manera, se puede utilizar $
dentro de su ámbito de funciones, pero en el exterior, jQuery no está clobbering uso de $
(por ejemplo prototipo también utiliza $
, y algunas personas les gusta mezclar los dos juntos)
Además de la razón detallada en las otras respuestas, es (¡ligeramente!) Más rápido acceder a los argumentos de función que las variables globales.
Mientras no se haya llamado a jQuery.noConflict()
, podría escribirse como function($){ … }($)
con el mismo efecto.
También llamada función de devolución de llamada anónima, ya que está vinculada a cualquier objeto, por lo que es estrictamente 'funcional'. Un buen patrón de diseño al diseñar complementos con jQuery para evitar conflictos, como otros señalaron.
- 1. ¿Cuál es el propósito de estos #define dentro de una enumeración?
- 2. ¿Cuál es el propósito de estos archivos Java en scala.runtime?
- 3. ¿Cuál es el propósito de este hack de JavaScript?
- 4. ¿Cuál es el propósito de este fragmento de CSS?
- 5. jQuery:. $ (Este) frente a estos $()
- 6. ¿Cuál es el propósito de config.assets.precompile?
- 7. ¿Cuál es el propósito de $ .cache en jQuery?
- 8. ¿Cuál es el propósito de precompiledApp.config?
- 9. ¿Cuál es el propósito de Membership.ValidateUser()
- 10. ¿Cuál es el propósito de requestWindowFeature()?
- 11. ¿Cuál es el propósito de esto? (función ($) {// código de función aquí}) (jQuery);
- 12. ¿Cuál es el propósito de String.IsInterned?
- 13. ¿Cuál es el propósito de :: en C#?
- 14. ¿Cuál es el propósito de 'n = n'?
- 15. ¿Cuál es el propósito de utilizar NSOrderedSame?
- 16. ¿cuál es el propósito de Thread.holdsLock (lock)?
- 17. ¿Cuál es el propósito de Mage_Core_Block_Template_Facade
- 18. ¿Cuál es el propósito de Ext.require
- 19. WPF: ¿Cuál es el propósito de App.xaml?
- 20. ¿Cuál es la diferencia entre estos dos ejemplos de código?
- 21. ¿Cuál es el propósito de 'var'?
- 22. ¿Cuál es el propósito de __cxa_pure_virtual?
- 23. ¿Cuál es el propósito de `qt_noop`
- 24. ¿Cuál es el propósito de layout.xml?
- 25. ¿Cuál es el propósito del pase indefinido?
- 26. ¿Cuál es el propósito del archivo vshost.exe?
- 27. ¿Cuál es el propósito de Active Records?
- 28. ¿Cuál es el propósito de Rake?
- 29. ¿Cuál es el propósito de los tipos anónimos?
- 30. ¿Cuál es el propósito de 'Class.forName ("MY_JDBC_DRIVER")'?
http://stackoverflow.com/questions/2024888/a-simple-question-on-jquery-closure – gnarf