2010-06-24 68 views
49

? Soy un aprendiz de JavaScript y he estado investigando este asunto, pero sin éxito. ¿Para qué sirve el símbolo $ en JavaScript además de las expresiones regulares? Cualquier recurso o lectura con respecto a esto sería apreciado. Gracias.

+2

Duplicado: http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign –

+0

Quizás encuentre este texto útil. http://stackoverflow.com/questions/846585/can-someone-explain-the-dollar-sign-in-javascript – jjnguy

Respuesta

57

No significa nada especial.

Pero debido $ está permitido en los nombres de identificador, muchas librerías Javascript han llevado usar $ como la interfaz "central" para ellos, o al menos como un acceso directo para acceder a su funcionalidad.

Por ejemplo, si está utilizando jQuery y dice $("div"), esta es una llamada a la función $ con el argumento "div". Cuando dice $.post(), llama al método post en el objeto $ (Javascript es bueno en el sentido de que las funciones son objetos de primera clase).

+13

El $ se incluyó realmente en la especificación ECMA para distinguir el código generado por la máquina del código humano. –

24

Me familiaricé con él en JavaScript cuando comencé a usar el framework Prototype. En Prototype, $ es simplemente el nombre de una función que se usa a menudo (muy, muy simplificada, una abreviatura de document.getElementById). Personalmente, me gusta lo escueto de eso.

Afaik, no se usa para nada por el idioma en sí.

Por lo que vale la pena, Douglas Crockford desaconseja el uso de $ en los nombres de variable/función que escritura:

no utilice $ (signo de dólar) o \ (barra invertida) en los nombres.


La adición de otro, en vez obstinado, cita de la charla del Sr. Crockford "And Then There Was JavaScript": Muestra

dólar fue introducido en el lenguaje específicamente para su uso por código generadores y macro procesos, entonces, si tiene máquinas que escriben código entonces las máquinas deben estar seguras de que las variables que crean serán que no entren en conflicto con las variables que el humanos vamos a crear. Para distinguirlos, permitiremos que las máquinas usen el signo de dólar. Algunos de los ninjas descubrieron eso y pensaron oh, signo de dólar, puedo usar signo de dólar como nombre de función, así que están haciendo eso. Y es se ve estúpido. Quiero decir, mira un programa con un signo de dólar.

+1

Así es '$ (" someId ")' lo mismo que 'document.getElementById (" someId ")'? – Babiker

+0

Es eso, y más, en Prototype. –

+5

@Babiker Depende de cómo se define '$' (no hay función "$" definida dentro de ECMAScript): 'function $() {/ * bibliotecas hacen lo que quieren * /}' –

8

Si se pregunta por qué algunas variables y nombres de funciones comienzan con $, entonces eso es simplemente una convención cuando se usan jQuery y/o AngularJS.

En código que utiliza jQuery, $ menudo se usa como un prefijo para variables que contienen selecciones jQuery. p. var $container = $('.container');.

En AngularJS, usan el prefijo $ para significar "funcionalidad angular básica". De esta forma, sabrá qué métodos y servicios agrega el marco y cuáles son personalizados para su aplicación.