Jslint"断线错误"

ale*_*2k8 7 javascript jslint

此片段的JSLint验证

1: function foo() {}
2: 
3: foo(1
4: );
5: 
6: foo(
7: );
Run Code Online (Sandbox Code Playgroud)

给出了这个错误:

Error:

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

foo(1

这是一个JSLint错误吗?

Fer*_*yer 13

这不是一个错误.JSLint不仅仅是语法检查:它强制执行某些编码约定.如果您在启用"Tolerate sloppy line breaking"选项的情况下重新验证​​,则不会出现错误.

JSLint文档:

换行

作为对分号插入机制的进一步防御,JSLint期望只有在其中一个标点字符或运算符之后才能打破长语句:

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

JSLint不期望在标识符,字符串,数字,更接近或后缀运算符后看到长语句被破坏:

)] ++ -

JSLint允许您打开Tolerate sloppy line breaking(laxbreak)选项.

分号插入可以屏蔽复制/粘贴错误.如果你总是在运算符之后断行,那么JSLint可以更好地找到它们.