JavaScript变量定义:逗号与分号在声明一组变量而不是分号时使用逗号有什么区别和/或优点(如果有的话)。例如:var foo = 'bar', bar = 'foo';与var foo = 'bar';var bar = 'foo';我知道如果你var在第一个例子中的第一个变量上指定关键字,它会持久化所有变量,因此它们都会产生与范围相同的最终结果。这只是个人偏好,还是以任何方式做到这都有性能优势?
4 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
没有性能优势,仅仅是个人选择和风格。
第一个版本更简洁。
更新:
就通过网络传输的数据量而言,当然越少越好,但是var
为了看到真正的影响,你需要大量的删除声明。
有人提到缩小是第一个例子有助于更好地缩小的东西,然而,正如Daniel Vassallo在评论中指出的那样,一个好的缩小器会自动为你做这件事,所以在这方面没有任何影响。

猛跑小猪
TA贡献1858条经验 获得超8个赞
在读完Crockford和其他人之后,我开始用逗号将变量链接起来。然后,我真的对Chrome DevTools调试器感到恼火,它不会停止使用逗号定义变量。对于调试器,使用逗号链接的变量定义是单个语句,而多个var语句是调试器可以停止的多个语句。因此,我改回:
var a = doSomethingA, b = doSomethignB, c = doSomethingC;
至:
var a = doSomethingA;var b = doSomethignB;var c = doSomethingC;
到目前为止,我发现第二个变体更清晰,更不用说它解决调试器问题的优势了。
“通过电线的代码较少”这一论点并不具有说服力,因为有缩小器。

吃鸡游戏
TA贡献1829条经验 获得超7个赞
我同意其他的回答者,这主要是个人风格的问题。但是为了在讨论中引入“权威”意见,Douglas Crockford 在流行的JSLint工具的网站上说道:
但是因为JavaScript没有块范围,所以在函数顶部声明所有函数的变量是明智的。建议每个函数使用一个var语句。这可以通过
onevar
选项强制执行。
添加回答
举报
0/150
提交
取消