在执行循环之前检查数组的长度是否不等于 0 是否有意义?
var arr = [1,2,3];
if (arr.length !== 0) {
// do loop
}
Run Code Online (Sandbox Code Playgroud)
在一般情况下,这是没有意义的。对于 foreach、for 或 while 循环,循环条件无论如何都会阻止循环执行,因此您的检查是多余的。
var arr = [];
for (var loopCounter = 0; loopCounter < arr.length; loopCounter++)
{
// This loop will never be entered.
}
foreach (var element in arr)
{
// This loop will never be entered.
}
var loopCounter = 0;
while (loopCounter < arr.length)
{
// This loop will never be entered.
loopCounter++;
}
Run Code Online (Sandbox Code Playgroud)
然而,唯一重要的是当您使用 do...while 循环时。在这种情况下,循环执行,然后检查循环条件(当为时已晚时)。在这种情况下,您的代码可能会在循环内引发异常,如以下代码所示。
var arr = [];
var loopCounter = 0;
do
{
someMethod(arr[loopCounter]); // This will throw an error
loopCounter++;
}
while(loopCounter < arr.length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2976 次 |
| 最近记录: |