例如,我有这样的代码在n次迭代地狱:如何避免-的if-else使用JavaScript
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个元素我也是n为迭代循环。这很酷。所以,如果我用任何n参数调用searchInFoo函数,我的函数也会执行if if else语句中的所有块n次。例如,在上面的例子中,我曾经记录过“发现”,并且三次发现“N:n not found!”。
什么是避免在其他块的执行,而不失去一些基本的错误捕获功能,最好的办法,实际上发生了什么,当我忽略整个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);
如果省略了'else'块和测试为假,则代码if块中被跳过,对环继续。 –