【发布时间】:2013-03-17 00:08:13
【问题描述】:
我经常看到开发人员在 JavaScript 中使用如下表达式:
arr = []
arr[arr.length] = "Something"
arr[arr.length] = "Another thing"
push 不是更合适吗?
arr = []
arr.push("Something")
arr.push("Another thing")
【问题讨论】:
-
我意识到我只是一个业余爱好者,但我确实使用
push(),现在我觉得我错过了一些迄今为止秘密使用的禁忌症。 . -
我经常使用它,虽然我更喜欢一个更符合逻辑的索引器(如
for循环)。 -
人们有时确实认为它更快。请参阅 Why is array.push sometimes faster than array[n] = value? 和 Using the push method or .length when adding to array? - 结果差异很大,以至于实际上无关紧要。使用更易于理解的内容。
-
更快的是为索引增加一个变量,而不是每次迭代都使用 push 或读取不断增长的 array.length。并不是说这种差异是人类可以测量的。
-
关于这个基准,在 Chrome 中推送更快:jsben.ch/#/rGPv3
标签: javascript