在大多数情况下,通常最好使用' for '循环而不是“ for ... in ”循环,因为“ for ... in ”循环会产生索引 ,而不会打扰剩余的索引普通的“ for ”循环显示这些值,并且在剩余索引中将执行一个名为“ undefined”的值,以便开发人员在编写代码时不会感到困惑。
for (var x in array) { //代码 };
上面的代码是“ for ... in ”循环的语法。
for () { //代码 };
上面是普通的“ for ”循环的语法。
在下面的示例中,最初,数组“ num ”只有5位数字(索引从0-4)。当将远离索引“ 4” 的另一个索引7添加到数组中时,连续执行了索引,而没有通知有关剩余索引(5和6)的任何信息。普通的“ for ”循环不是这种情况。这可能会使开发人员感到困惑。
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var x in num) { document.write(x); document.write("</br>"); } </script> </body> </html>
0 1 2 3 4 7
在下面的示例中,与“ for ... in ”循环不同,在常规“ for ”循环中,显示值而不是索引,并且在剩余索引中执行undefined 值,以免使开发人员感到困惑。
<html> <body> <script> var num = [1,2,3,4,5]; num[7] = 7; for (var i = 0; i < num.length; i++) { document.write(num[i]); document.write("</br>"); } </script> </body> </html>
1 2 3 4 5 undefined undefined 7
问题内容: 有人告诉我不要在JavaScript中使用数组。为什么不? 问题答案: 原因是一种构造: 有时可能与另一个完全不同: 还请注意,JavaScript库可能会执行以下操作,这会影响您创建的任何数组:
问题内容: 我的代码产生了意外的结果。看来我的for循环跳过了第一次迭代,我不明白为什么。 返回…(假设输入的数字是姓名) 为什么第一个get.nextLine()被跳过? 问题答案: 当前,您对Scanner#nextInt的调用不占用换行符,因此将其传递给您的第一次调用,因此 不会 阻塞。 您将需要添加 通话后,您的第一个通话将阻止。
我一直在读一本面向初学者的书,“第一头HTML5编程”,其中有这样一段代码: 目前,如果我调用,它将返回下一次显示是在下午5:00。我将循环条件更改为“I<=movie.showtimes.length;”但它仍然只运行一次,并且只显示下午5点。循环只迭代一次,即使我重写了这个函数: 不是应该跑两次吗?
我正在尝试根据“ExpectedDate”和“ObservedDate”填充“FinalDate”。 规则是:对于每个组,如果观察日期大于前一个预期日期且小于下一个预期日期,则最终日期等于观察日期,否则最终日期等于预期日期。 如何修改下面的代码以确保: 最终日期按组填写 迭代次数不跳过任何行 例如,在下面的输出中: 当i=90时,代码在字母I中查找之前的预期日期 我们希望它只在字母J中查找Expe
在书中,它说的arg是val类型,而不是var类型。为什么会这样。 根据我的理解,每次迭代都会更改arg的值,因为每次循环时它都会保存新的值。 以下是我的问题 null
我正在尝试使用For循环将一个随机整数(0-2)添加到一个变量中指定的次数。我遇到的问题是,循环不是每次循环时都使用一个新的随机数,所以,如果我输入9,我只能得到0、9,或者18。 我希望一个对象返回的键“a”和“b”具有不同的数值。