【问题标题】:Javascript var assignmentJavascript 变量赋值
【发布时间】:2016-03-26 23:33:41
【问题描述】:

这是正确的吗? b 赋值是否属于已经声明的 b?

var a, b;
//...later
a = 3, b = a * 4;

还是需要这样?

var a, b;
//...later
a = 3; 
b = a * 4;

【问题讨论】:

  • 两者都有效。在使用变量时声明变量时不需要遵循相同的约定。
  • 第一种方式效果很好。您可以自己轻松地对其进行测试。
  • 建议不要在这样的表达式上使用逗号运算符,因为对于大多数编码人员来说,与使用分号的不同“部分”相比,它的可读性较差。这是 uglify 代码难以阅读的原因之一。

标签: javascript variables evaluation comma-operator


【解决方案1】:

引用MDN:

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值。

因此,b = a * 4 将在 a = 3 之后计算,结果为 12。

两个版本之间的区别在于后者包含一个附加语句。如果您在 REPL 中一个接一个地键入这些语句,您将看到 a = 3 语句被评估为 3,这在以前的版本中不会发生。

【讨论】:

    猜你喜欢
    • 2014-03-22
    • 2017-07-01
    • 2011-09-03
    • 1970-01-01
    • 2011-01-07
    • 2015-03-24
    • 2014-02-26
    相关资源
    最近更新 更多