例如我有这个代码:
var Foo = [1,2,3,4];
function searchInFoo(n) {
for(var i = 0, arrayLength = Foo.length; i < arrayLength; i++) {
if(Foo[i] === n) {
console.log("N: " + n + " found!");
} else {
console.log("N: " + n + " not found!");
}
}
}
searchInFoo(4);
好吧,正如我所期望的那样,我有 n 个元素的 Foo 数组,我也有 n 次 for 循环迭代。这很酷。因此,如果我使用任何 n 参数调用 searchInFoo 函数,我的函数还将执行 if else 语句中的所有块 n 次。例如,在上面的示例中,我曾经记录过“n found”,三次“N: n not found!”。
在不丢失一些基本的错误捕获功能的情况下,避免在 else 块中执行的最佳方法是什么,当我像这里这样省略整个 else 块时实际会发生什么:
var Foo = [1,2,3,4];
function searchInFoo(n) {
for(var i = 0, arrayLength = Foo.length; i < arrayLength; i++) {
if(Foo[i] === n) {
console.log("N: " + n + " found!");
}
}
}
searchInFoo(1);