2012-02-23 9 views
5

Como C# codificador de aprendizaje JavaScript Me parece mucho más fácil de leer:¿Puedo formatear mi código JavaScript/JQuery con saltos de línea y pestañas?

$(this) 
    .first() 
    .prepend("<h3>Title</h3>") 
    .end() 
    .removeClass("hidden"); 

que esto:

$(this).first().prepend("<h3>Title</h3>").end().removeClass("hidden"); 

Sin embargo JSLint se queja de la primera. Pero no entiendo por qué. ¿Esto me meterá en problemas en cualquier lugar?

Actualización: Puede establecer el valor de la muesca en la parte inferior de la página JSLint y por lo tanto hacer que el código "válida". Hay una bifurcación de JsLint, http://www.jshint.com/, que también acepta pestañas.

+0

¿Qué dice JSLINT? – Sarfraz

+1

El ** por qué ** es el espacio en blanco entre el elemento anterior y el punto –

+1

Como nota al margen, ¿por qué está usando '$ (this) .first()'? Si 'this' es un elemento,' $ (this) 'contiene solo un elemento de todos modos. – pimvdb

Respuesta

1

La advertencia de JSLin Es una cuestión de gusto. El que escribió comprueba que la organización de las cosas de esta manera tiene más sentido:

$(this). 
    first(). 
    prepend("<h3>Title</h3>"). 
    end(). 
    removeClass("hidden"); 

I para uno encontrar su enfoque más claro porque el punto me dice que todo lo que viene después de que pertenece a la línea anterior.

Estás seguro con la forma en que estás escribiendo, pero realmente me gustaría ver a alguien (desarrolladores de jslint) decirnos cómo desactivar ese mensaje.

+0

En la parte inferior de la página jslint puede al menos establecer cuántos espacios de sangría está permitido. –

+0

Sí, leí las otras respuestas. Es bueno saberlo, pero uso pestañas. Logré localizar este error en particular en la fuente de jslint, pero no pude deshabilitarlo. Tal vez debería hacer una solicitud de función sobre esto, porque realmente no es asunto de ellos cómo sangro mis líneas. ¡Después de todo, no es Python! ¿Me equivoco? –

+0

Además, uso el jslint binario y los errores aparecen en mi editor de texto. –

0

Su código está perfectamente bien si formatea como este JSLint no debe quejarse (Bueno, por supuesto que se queja de $ no está definido, pero el resto del código está bien)

$(this). 
    first(). 
    prepend("<h3>Title</h3>"). 
    end(). 
    removeClass("hidden"); 
3

La cuestión con ese código en JSLint se debe a la identation: si aplica sangría con 4 espacios Todavía no hay errores

(desplácese hacia abajo para las opciones y cambiar la configuración identation si el valor por defecto no es lo que quiere)

+0

Eso funciona, ¿sabes por qué cuatro espacios es el número mágico? –

+0

mira en la parte inferior de la página jslint. :) – fcalderan

0

Una buena práctica de codificación es que mantenga su código legible por usted y cualquier otra persona y que es un ejemplo

$(this).first() 
.prepend("<h3>Title</h3>") 
.end() 
.removeClass("hidden"); 

if(something) 
{ 
    // do something 
} 
else 
{ 
    //do something else 
} 

Siempre debe utilizar guión y es una buena práctica de codificación.

Cuestiones relacionadas