为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript变量定义:逗号与分号

JavaScript变量定义:逗号与分号

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

4 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

没有性能优势,仅仅是个人选择和风格。

第一个版本更简洁。


更新:

就通过网络传输的数据量而言,当然越少越好,但是var为了看到真正的影响,你需要大量的删除声明。

有人提到缩小是第一个例子有助于更好地缩小的东西,然而,正如Daniel Vassallo在评论中指出的那样,一个好的缩小器会自动为你做这件事,所以在这方面没有任何影响。


查看完整回答
反对 回复 2019-08-27
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

在读完Crockford和其他人之后,我开始用逗号将变量链接起来。然后,我真的对Chrome DevTools调试器感到恼火,它不会停止使用逗号定义变量。对于调试器,使用逗号链接的变量定义是单个语句,而多个var语句是调试器可以停止的多个语句。因此,我改回:

var a = doSomethingA,
    b = doSomethignB,
    c = doSomethingC;

至:

var a = doSomethingA;var b = doSomethignB;var c = doSomethingC;

到目前为止,我发现第二个变体更清晰,更不用说它解决调试器问题的优势了。

“通过电线的代码较少”这一论点并不具有说服力,因为有缩小器。


查看完整回答
反对 回复 2019-08-27
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

我同意其他的回答者,这主要是个人风格的问题。但是为了在讨论中引入“权威”意见,Douglas Crockford 在流行的JSLint工具的网站上说道:

但是因为JavaScript没有块范围,所以在函数顶部声明所有函数的变量是明智的。建议每个函数使用一个var语句。这可以通过onevar选项强制执行。


查看完整回答
反对 回复 2019-08-27
  • 4 回答
  • 0 关注
  • 825 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号