好吧,首先我应该问一下这是否依赖于浏览器.
我已经读过,如果找到一个无效的令牌,但代码段在该无效令牌之前有效,则在令牌之前插入分号(如果前面有换行符).
但是,由分号插入引起的错误引用的常见示例是:
return
_a+b;
Run Code Online (Sandbox Code Playgroud)
..它似乎不遵循这个规则,因为_a将是一个有效的标记.
另一方面,分解调用链按预期工作:
$('#myButton')
.click(function(){alert("Hello!")});
Run Code Online (Sandbox Code Playgroud)
有没有人对规则有更深入的描述?
对于许多问题,答案似乎可以在"标准"中找到.但是,我们在哪里找到它?最好是在线.
谷歌搜索有时会觉得徒劳,尤其是对于C标准,因为他们在编程论坛的大量讨论中被淹没.
要开始这个,因为这些是我现在正在搜索的,那里有很好的在线资源:
有人可以向我解释为什么JSHint会抱怨以下情况,
window.location.href = String1
+ '#'
+ Sting2
+ '='
+ String3;
Run Code Online (Sandbox Code Playgroud)
有了这个错误, Bad line breaking before '+' error
我知道可以使用laxbreak 选项配置此错误,该选项被描述为
此选项可以抑制代码中可能存在不安全断行的大多数警告.它不会禁止有关逗号优先编码样式的警告.要压制那些你必须使用laxcomma(见下文).
这个解释非常简洁,我很好奇为什么这种方式断线被认为是不好或者首先松懈.
请记住,我不是想在这里开始一场神圣的战争,我只是在寻找一个客观的答案,为什么JSHint的人认为这很糟糕,是否只是他们注入他们的linter的风格偏好(我认为JSLint是自以为是的短信),或者当某些口译人员以这种方式打破时,某些口译员会出现问题.