Erklärung von JSHint ist Schlecht Zeilenumbruch vor dem ' + ' - Fehler
Kann mir jemand erklären, warum JSHint meckert über die folgenden,
window.location.href = String1
+ '#'
+ Sting2
+ '='
+ String3;
Mit dem Fehler, Bad line breaking before '+' error
Ich verstehe, dass dieser Fehler kann konfiguriert werden, mit der laxbreak
optiondie als beschrieben wird
Diese option unterdrückt die meisten der Warnungen über möglicherweise unsichere Linie Brüche in Ihrem code. Es nicht unterdrücken Warnungen über Komma-erstes coding-Stil. Zu unterdrücken diejenigen, die Sie haben zu verwenden laxcomma (siehe unten).
Diese Erklärung ist ziemlich knapp und ich bin neugierig, warum brechen die Linien dieser Weg ist als bad oder lax in den ersten Platz.
Halten Sie im Verstand ich bin nicht versuchen zu starten, einen Heiligen Krieg, hier, ich bin gerade auf der Suche für eine Objektive Antwort darüber, warum die JSHint die Leute denken, das ist schlecht, egal ob Sie nur einen Stil-Vorlieben werden Sie injizieren in Ihre linter (ich dachte, JSLint war die eigenwillige linter), oder wenn es etwas gibt, was schief gehen kann, auf bestimmte Interpreten, wenn Sie den Zeilenumbruch auf diese Weise.
InformationsquelleAutor der Frage James McMahon | 2013-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein style-guide zu vermeiden, die Aussagen, dass könnte haftet Annahmen über automatic semicolon insertion.
Die Idee ist, dass Sie deutlich machen, indem Sie das Ende einer Zeile, ob der Ausdruck enden oder fortgesetzt werden könnte auf der nächsten Zeile.
InformationsquelleAutor der Antwort Barney
Jshint nicht-flag, das als eine schlechte Linie brechen, wenn Sie mit der " + " vor dem Zeilenumbruch, im Gegensatz zu der neuen Linie. Etwa so:
InformationsquelleAutor der Antwort asulaiman
Nicht eine direkte Antwort auf die Frage, aber für jeden, kommen über diese von Googeln (so wie ich) möchten, halten Sie die Regel, sondern beheben Sie die Warnungen, die folgenden können hilfreich sein...
Bei der Verwendung von Notepad++ (z.B. mit JSLint-plugin), dies kann behoben werden, mithilfe der folgenden suchen & ersetzen:
(\r\n|\n|\r)( *)\+
+$1$2
(einschließlich der ersten und letzten Raum)(Nur unter Windows getestet, aber der regex sollte auch mit Unix-oder Mac OS-Zeilenenden.)
Zu tun, eine ähnliche Sache für
||
&&
==
!=
<=
oder>=
statt+
verwenden Sie diese:(\r\n|\n|\r)( *)(\|\||&&|==|!=|<=|>=)
$3$1 $2
(einschließlich der ersten und letzten Raum)InformationsquelleAutor der Antwort Steve Chambers