Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

392
Vistas
jQuery signo de dólar ($) como argumento de función?

Entiendo los cierres de JavaScript, y he visto esto hecho en JS nativo:

 (function () { // all JS code here })();

Pero, ¿qué hace agregar la especia jQuery?

 (function ($) { // all JS code here })(jQuery);
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Cuando veas:

 (function() { // all JS code here })();

Se conoce como función anónima de autoinvocación . La función se ejecuta tan pronto como se analiza debido a la adición de () al final (así es como se ejecutan las funciones js).

Tenga en cuenta que las llaves externas adicionales son solo una convención, también podría escribirlo así:

 function() { // all JS code here }();

Pero esa convención se usa mucho en todas partes y debe apegarse a ella.

 (function($) { // all JS code here })(jQuery);

Aquí, $ se asigna al objeto jQuery para que pueda usar $ en lugar de la palabra clave jQuery . También podrías poner algún otro personaje allí también:

 (function(j) { // all JS code here })(jQuery);

Aquí, j se asigna a un objeto jQuery en su lugar.

Tenga en cuenta también que los argumentos especificados para la función de autoinvocación permanecen dentro del alcance de esa función y no entran en conflicto con el alcance o las variables externas.


Había escrito un artículo sobre el tema, por favor échale un vistazo:

  • Funciones autoejecutables de Javascript
over 4 years ago · Santiago Trujillo Denunciar

0

Es una forma de asignar jQuery a $ de manera que no todo el código en una página lo vea.

Tal vez tenga un script existente que usa jQuery que le gusta reutilizar, pero también usa un prototipo que también usa $ en la misma página.

Al envolver cualquier jQuery usando código en esa construcción, redefine $ a jQuery para la parte contenida sin entrar en conflicto con otro código en la página.

over 4 years ago · Santiago Trujillo Denunciar

0

(function() { // all JS code here })();

Es una expresión de función invocada inmediatamente ( IIFE ), pronunciada "dudosa". Algunas personas también las llaman "funciones autoejecutables anónimas" o simplemente "funciones autoejecutables".

 (function(aParameter) { alert(aParameter); // will alert "an argument" })("an argument");

Aquí hay un IIFE que toma el parámetro 'aParameter' y se pasa el argumento "an argument".

 (function($){ alert($(window).jquery); // alert the version of jQuery })(jQuery);

Este es similar, pero "jQuery" (LA instancia del objeto jQuery) es el argumento del IIFE, y en este caso, jQuery se pasa como el parámetro '$'. De esta forma, simplemente tecleando '$', el cuerpo del IIFE tiene acceso a jQuery y sus miembros. Esta es una convención común de jQuery, y es común que las personas que escriben complementos de jQuery mantengan esta convención de esta manera.

El código anterior no solo mantiene la convención jQuery, sino que también garantiza que ni usted ni nadie más pueda romper accidentalmente esa convención. Por ejemplo, tome el siguiente código:

 var $ = function() { alert('foo'); }

Este código convierte '$' en algo que definitivamente no es jQuery. Si alguien hizo esto en algún otro código fuera del código de su complemento, y luego no pasó explícitamente jQuery como '$' a su complemento, entonces no podría usar '$' como jQuery como lo hace normalmente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda