Jslint "Ошибка обрыва строки" - PullRequest
7 голосов
/ 19 февраля 2009

Проверка JSLint этого фрагмента

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

выдает эту ошибку:

Error:

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

foo(1

Это ошибка JSLint?

1 Ответ

13 голосов
/ 19 февраля 2009

Это не ошибка. JSLint выполняет не только проверку синтаксиса: он обеспечивает соблюдение определенных правил кодирования. Если вы выполните повторную проверку с включенной опцией «Допускать разрыв строки», вы не получите сообщение об ошибке.

Из документации JSLint :

Разрыв строки

В качестве дополнительной защиты от механизма вставки точек с запятой JSLint ожидает, что длинные операторы будут прерываться только после одного из этих знаков препинания или операторов:

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

JSLint не ожидает, что длинный оператор будет прерван после идентификатора, строки, числа, оператора приближения или суффикса:

)] ++ -

JSLint позволяет вам включить опцию Допускать прерывистый разрыв строки (разрыв строки).

Вставка точки с запятой может маскировать ошибки копирования / вставки. Если вы всегда разрываете строки после операторов, то JSLint может найти их лучше.

...