两种用于设置默认值的样式

时间:2011-12-18 02:30:08

标签: javascript

我看到两种不同的“样式”用于在JavaScript中为变量default设置默认值argument

argument = argument || default     // Version 1
argument || (argument = default)   // Version 2

这些完全相同吗?是一个比另一个更快,还是以其他方式更好?

1 个答案:

答案 0 :(得分:2)

如果argument已经真实,那么第二个避免任何分配,因此理论上它可能更快。

真的,我怀疑你有没有看到差异。


只是为了分解一下

  1. 如果argument已经真实,则将argument分配给自己,否则将argument分配给default

  2. 评估布尔条件argument || (argument = default)。如果argument已经真实,评估将短路,并且不会发生任何其他事情。如果argument不是真实的,布尔条件的后半部分将会命中,argument将被分配default