2011-06-02 11 views
72

Duplicar posible:
Why would a javascript variable start with a dollar sign?

Veo personas que utilizan el signo del dólar delante de las variables cuando se utiliza jQuery. ¿Hay alguna razón detrás de esto? Me estoy perdiendo algo básico o es solo una práctica común?

+2

De hecho, no encontré nada útil. Perdí ese! Gracias. – elclanrs

+5

Esto no es un duplicado para esa pregunta: esta pregunta * se centra explícitamente en el uso en un contexto jQuery * y ha recibido un conjunto de respuestas completamente diferente. –

Respuesta

92

Es una referencia común a un objeto envuelto jQuery. Hace que sea más fácil leer el código para saber qué variables se envuelven en jQuery.

//Item has been "cached" for later use in the script as a jQuery object. 
var $item = $(this); 
+8

Usar $ frente a los nombres de variable es lo que se llama "notación húngara" y no es diferente de hacer int_count, arry_list o str_name. Esto no está mal, pero muchas personas ven esto como una forma obsoleta de nombrar variables. –

+19

En el contexto del uso de jQuery, esto no está desactualizado, pero es una práctica habitual. –

+13

Regular no excluye obsoleto: una excelente lectura en notación húngara y jQuery: http://www.bennadel.com/blog/1778-Using-Variable-In-jQuery-Code-Is-Just-Hungarian-Notation.htm –

2

En mi experiencia esto es solo una legibilidad. Algunos desarrolladores prefieren prefijar sus variables para que sean fáciles de detectar. También podría ser un hábito de PHP arrastrándose dentro de Javascript.

6

Muchas personas que usan jQuery prefijarán las variables que contienen un objeto jQuery con $, para que se identifiquen fácilmente. Considere este ejemplo:

var $img = $(".someclass span.otherclass img"); 
/* somewhere later in the code */ 
$img.bind("click", function() {/*...*/}); 
2

signos de dólar en código que utiliza JQuery comúnmente significa que la variable en cuestión es una variable jQuery (un objeto envuelto por jquery).

37

Para mí, una práctica común es la siguiente:

Si una variable es privado utilizo un guión como este:

(function(){ 
    var _foo = "bar"; 
})()

Si es pública Voy a usar ningún subrayado:

var foo = "bar"

Y si es un selector jQuery usaré el $:

var $foo = $('bar'); 
//then you can access it like this 
$foo.attr('id')

Es una convención de codificación que le permite hacer referencia rápidamente a qué tipo de variable está más adelante en el código.

+2

Esto parece una buena práctica. – elclanrs

Cuestiones relacionadas