2009-02-18 18 views
7

JSLint walidacja tym fragmencieJslint "Linia łamania błąd"

1: function foo() {} 
2: 
3: foo(1 
4:); 
5: 
6: foo(
7:); 

daje ten błąd:

 
Error: 

Problem at line 3 character 5: Line breaking error ')'. 

foo(1 

Jest to błąd JSLint?

Odpowiedz

13

To nie jest błąd. JSLint robi więcej niż sprawdzanie składni: Wymusza określone konwencje kodowania. Jeśli rewalidujesz z włączoną opcją "Toleruj niechlujstwa linii", nie otrzymasz błędu.

Z JSLint Documentation:

Line Breaking

As a further defense against the semicolon insertion mechanism, JSLint expects long statements to be broken only after one of these punctuation characters or operators:

, . ; : { } ([ = < > ? ! + - */% ~^| & == != <= >= += -= *= /= %= ^= |= &= << >> || && === !== <<= >>= >>> >>>=

JSLint does not expect to see a long statement broken after an identifier, a string, a number, closer, or a suffix operator:

) ] ++ --

JSLint allows you to turn on the Tolerate sloppy line breaking (laxbreak) option.

Semicolon insertion can mask copy/paste errors. If you always break lines after operators, then JSLint can do better at finding them.

Powiązane problemy