【发布时间】:2025-12-03 21:35:01
【问题描述】:
我正在做一些 javascript 编码,我想知道长度方法是“预先计算”的,还是被 JS 引擎记住的。
所以,问题是:
如果我经常检查数组长度,并且假设我没有更改它(通过闭包使其不可变),我是否应该预先计算长度方法并将其存储在某个变量中?
谢谢!
【问题讨论】:
-
内置javascript对象中没有
length方法,但访问对象属性通常比访问局部变量慢。 -
为什么是@Pointly?我不能在我的代码中寻找每一个改进吗?我就不能好奇吗?
-
保持好奇心很好,但编写(正如 Erlang 世界的 Joe Armstrong 所说的)“漂亮的代码”也很重要。有时,当 JavaScript 实现引入新的优化以加快使用常见习语编写的代码时,如此小的“优化”可能会适得其反。
-
所以,如果数组在每次调用 .lenth 方法时计算它的长度(我不知道,这就是我在这里问的原因)并且我在其中存储了 1000000 个对象,那就是“小”性能损失?我同意你的可读性,但也不想杀死我的用户浏览器。
标签: javascript arrays immutability