2014-11-25 58 views
0

我目前正在学习中断继续声明。它打印第一个数组,第二个数组像第一个数组运行警报,但第三个不运行,当我使用继续声明。也许我没有做对吗?一些新手指导会很好。Javascript - 继续语句不起作用?

使用JSBin来运行这个。

p.s. IM从 “开头的Javascript” 书学

感谢

var n = [233, "john", 432]; 
 
var nIndex; 
 

 
for (nIndex in n) { 
 
    if (isNaN(n[nIndex])) { 
 
     alert(n[nIndex] + " is not a number"); 
 
     continue; 
 
    } 
 
    document.write(n[nIndex] + " "); 
 
}

+2

我没有在您的代码中发现任何问题。它工作正常。 – 2014-11-25 03:28:52

+0

适用于我... – 2014-11-25 03:29:15

+3

仅供参考,您绝不应该用'for(x in y)'来迭代javascript数组,因为它将遍历数组的所有可枚举“属性”,而不仅仅是可能不包含数组元素属性的数组元素。你应该使用'.forEach()'或'for(var i = 0; i jfriend00 2014-11-25 03:30:09

回答

0

这是你如何遍历数组的元素:

var data = [233, "john", 432]; 
 

 
for (var i = 0; i < data.length; ++i) { 
 
    if (isNaN(data[i])) { 
 
     alert(data[i] + " is not a number"); 
 
     continue; 
 
    } 
 
    document.write(data[i] + " "); 
 
}

顺便说一句,你可以删除continue声明,而是在交替的指令使用else

var data = [233, "john", 432]; 
 

 
    for (var i = 0; i < data.length; ++i) { 
 
     if (isNaN(data[i])) { 
 
      alert(data[i] + " is not a number"); 
 
     } else { 
 
      document.write(data[i] + " "); 
 
     } 
 
    }

这是逻辑上等同,你可能会发现它更容易阅读。