2012-02-23 3 views
5

Come C# coder apprendimento JavaScript Trovo che questo sia molto più leggibile:Posso formattare il mio codice JavaScript/JQuery con interruzioni di riga e schede?

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

di questo:

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

Tuttavia JSLint lamenta il primo. Ma non capisco perché. Questo mi mettere nei guai ovunque?

Aggiornamento: È possibile impostare il valore di rientro in fondo alla pagina JSLint e, quindi, rendere il codice "valido". C'è un fork di JsLint, http://www.jshint.com/, che accetta anche le schede.

+0

Cosa dice JSLINT? – Sarfraz

+1

Il ** perché ** è lo spazio bianco tra l'elemento precedente e il punto –

+1

Come nota a margine, perché stai usando '$ (this) .first()'? Se 'this' è un elemento,' $ (this) 'contiene comunque solo un elemento. – pimvdb

risposta

1

L'avviso di JSLin è una questione di gusti. Chi ha scritto constata che organizzare le cose in questo modo ha più senso:

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

io per primo trovare il tuo approccio più chiaro, perché il punto mi dice che tutto ciò che viene dopo che appartiene alla linea di cui sopra.

Sei al sicuro con il modo in cui stai scrivendo, ma mi piacerebbe davvero vedere qualcuno (jslint devs) dirci come disabilitare quel messaggio.

+0

Nella parte inferiore della pagina jslint è possibile impostare almeno quanti spazi di indentazione sono consentiti. –

+0

Sì, ho letto le altre risposte. È bello sapere ma io uso le schede. Sono riuscito a individuare questo particolare errore nella fonte di jslint, ma non è stato in grado di disabilitarlo. Forse dovrei fare una richiesta di funzionalità su questo, perché in realtà non sono affari loro come indentare le mie battute. Dopotutto, non è pitone! Ho sbagliato? –

+0

Inoltre, io uso il jslint binario e gli errori compaiono nel mio editor di testo. –

0

Il codice è perfettamente bene se si formatta come questo JSLint non dovrebbe lamentarsi (Beh, naturalmente si lamenta $ non in fase di definizione, ma il resto del codice è ok)

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

La questione con quel codice su JSLint è dovuto al identation: se si rientra con 4 spazi non ci sei errori

(scorrere fino alle opzioni e modificare le impostazioni identation se il valore di default non è quello che si vuole)

+0

Funziona, sai perché quattro spazi è il numero magico? –

+0

guarda nella parte inferiore della pagina jslint. :) – fcalderan

0

Una buona pratica di codifica è che mantenere il vostro codice leggibile da voi e chiunque altro e che è un esempio

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

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

Si dovrebbe sempre usare trattino ed è una buona pratica di codifica.