Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

391
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!