我遇到了一个我遇到的问题:
return
isSomething() &&
isSomethingElse();
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为javascript在返回后插入分号,使得上面的等价于:
return;
isSomething() && isSomethingElse();
Run Code Online (Sandbox Code Playgroud)
这完全让我感到困惑,为什么会这样做.我发现了一些关于该主题的StackOverflow问题(例如this,this和this),但他们只是解释了"何时"这样做,参考规范.
我甚至无法想象我想要一个return;声明后跟一些其他有效的javascript语句的情况(除非你使用goto或者我可能没有听说过其他一些模糊的javascript).在我看来,这只会导致问题.
我想知道为什么会这样做.为什么这部分规范?
编辑:关于重复的结束.我想,我明确表示,我读其他的问题和答案,指出它是JavaScript的规范的一部分,甚至把区别于其他人在我的问题的一部分大胆.在密切原因中链接的问题不包含对这个问题的答案,并且与我在回答我的问题时所链接的其他三个问题的形式完全相同.
确切的原因可能已经消失在时间的迷雾中。我敢打赌,事情的发生是这样的:
return您描述的方式与语句一起使用时省略分号。| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |