相关疑难解决方法(0)

在JavaScript中循环遍历数组

在Java中,您可以使用for循环遍历数组中的对象,如下所示:

String[] myStringArray = {"Hello", "World"};
for (String s : myStringArray)
{
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

你能用JavaScript做同样的事吗?

javascript arrays loops for-loop

2940
推荐指数
43
解决办法
353万
查看次数

在JavaScript中读取数组的`length`属性真是那么昂贵吗?

我总是假设在JavaScript中缓存数组的长度是一个好主意(特别是在for循环的条件下),因为计算数组的长度是昂贵的.

for (var i = 0; i < arr.length; i++) { }

// vs

for (var i = 0, arrLength = arr.length; i < arrLength; i++) { }
Run Code Online (Sandbox Code Playgroud)

但是,我想也许该length属性只是在创建和更改数组时更新.因此,阅读它不应该是一个操作太昂贵而不是读取存储在变量中的操作(与其他语言中可能需要在内存中寻找某些内容的其他方法相反,例如strlen()在C中).

我有两个问题.我也对它是如何工作感兴趣,所以请不要用过早的优化棒打我.

假设浏览器中的JavaScript引擎.

  1. length在JavaScript中缓存数组的属性有什么好处吗?是否有更多的参与在对象的属性上读取局部变量?
  2. length属性是否仅在创建和on上更改,shift()并且pop()类型方法不返回新数组,否则只是存储为整数?

javascript arrays

65
推荐指数
4
解决办法
1万
查看次数

标签 统计

arrays ×2

javascript ×2

for-loop ×1

loops ×1