En el siguiente código JavaScript hay un signo de dolar ($
). ¿Qué significa?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
En el siguiente código JavaScript hay un signo de dolar ($
). ¿Qué significa?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
Su fragmento de código parece estar haciendo referencia a métodos de una de las populares bibliotecas de JavaScript (jQuery, ProtoType, mooTools, y así sucesivamente).
No hay nada misterioso sobre el uso de $
en JavaScript. $
es simplemente un identificador válido de JavaScript. JavaScript permite letras mayúsculas y minúsculas (en una amplia variedad de scripts, no solo en inglés), números (pero no como el primer carácter), $
, _
, y otros.¹
Prototype, jQuery, y la mayoría de las bibliotecas de JavaScript utilizan el $
como el objeto (o función) base principal. La mayoría de ellas también tienen una forma de ceder el $
para que pueda ser utilizado con otra biblioteca que lo utiliza. En ese caso, se utiliza jQuery
en lugar de $
. De hecho, $
es solo un atajo para jQuery
.
¹ Para el primer carácter de un identificador, JavaScript permite "...cualquier punto de código Unicode con la propiedad Unicode “ID_Start”..." más $
y _
; detalles en la especificación. Para los caracteres siguientes en un identificador, permite cualquier cosa con ID_Continue
(que incluye _
) y $
(y algunos caracteres de control por compatibilidad histórica).
Esta es muy probablemente código de jQuery (más precisamente, JavaScript utilizando la biblioteca jQuery).
El $
representa la Función jQuery, y de hecho es un alias abreviado para jQuery
. (A diferencia de la mayoría de los lenguajes, el símbolo $
no está reservado y se puede utilizar como nombre de variable). Generalmente se utiliza como un selector (es decir, una función que devuelve un conjunto de elementos encontrados en el DOM).
De otra respuesta:
Un poco de historia
Recuerda, no hay nada inherentemente especial en $
. Es un nombre de variable como cualquier otro. En los primeros días, la gente solía escribir código usando document.getElementById. Debido a que JavaScript es sensible a mayúsculas y minúsculas, era normal cometer un error al escribir document.getElementById
. ¿Debería poner en mayúscula la 'b'
de 'by'
? ¿Debería poner en mayúscula la 'i'
de Id?
Entiendes la idea. Debido a que las funciones son ciudadanos de primera clase en JavaScript, siempre puedes hacer esto:
var $ = document.getElementById; //¡libertad de document.getElementById!
Cuando llegó la biblioteca Prototype, nombraron su función, que obtiene los elementos del DOM, como '$'
. Casi todas las bibliotecas de JavaScript copiaron esta idea. Prototype también introdujo una función $$
para seleccionar elementos usando selectores de CSS.
jQuery también adaptó la función $
pero la expandió para que acepte todo tipo de 'selectores' para obtener los elementos que desees. Ahora, si ya estás usando Prototype en tu proyecto y quieres incluir jQuery, tendrás un problema ya que '$'
podría referirse a la implementación de Prototype O a la implementación de jQuery. Es por eso que jQuery tiene la opción de noConflict para que puedas incluir jQuery en tu proyecto que usa Prototype y migrar lentamente tu código. ¡Creo que fue un movimiento brillante por parte de John! :)
El $()
es la versión abreviada de jQuery()
utilizada en la Biblioteca de jQuery.
Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.