此代码段的 JSLint 验证
1: function foo() {}
2:
3: foo(1
4: );
5:
6: foo(
7: );
给出这个错误:
错误: 第 3 行字符 5 处的问题:换行错误 ')'。 富(1
这是一个 JSLint 错误吗?
此代码段的 JSLint 验证
1: function foo() {}
2:
3: foo(1
4: );
5:
6: foo(
7: );
给出这个错误:
错误: 第 3 行字符 5 处的问题:换行错误 ')'。 富(1
这是一个 JSLint 错误吗?
这不是一个错误。JSLint 不仅仅是语法检查:它强制执行某些编码约定。如果您在启用“容忍马虎换行”选项的情况下重新验证,您将不会收到错误消息。
来自JSLint 文档:
换行
作为对分号插入机制的进一步防御,JSLint 期望长语句仅在以下标点字符或运算符之一之后被破坏:
, . ; : { } ( [ = < > ? ! + - * / % ~ ^ | & == != <= >= += -= *= /= %= ^= |= &= << >> || && === !== <<= >>= >>> >>>=
JSLint 不希望在标识符、字符串、数字、更接近或后缀运算符之后看到长语句中断:
) ] ++ --
JSLint 允许您打开 Tolerate sloppy line break (laxbreak) 选项。
分号插入可以掩盖复制/粘贴错误。如果你总是在运算符后面换行,那么 JSLint 可以更好地找到它们。