3

我有这个简单的 for 循环,但不幸的是我无法成功运行它。

这就是我所拥有的:

循环

 var imagesPerPage = 2

  for (i = 0; i < response.d.length; i++) {
    if (i > imagesPerPage) {
     alert('more');
     }else{
     alert('less');
     }
  }

当我运行此代码时,first如果我有<= 2,那么我会得到"less"alert twice。但是当我有> 2时,我会得到"less"alerttwice"more"alert once

谁能告诉我我哪里错了?

4

2 回答 2

6

为什么不if为此使用一个简单的构造?

var imagesPerPage = 2

if ( response.d.length > imagesPerPage ) {
  alert('more');
} else {
  alert('less');
}

在您的代码中,循环总是运行response.d.length多次。在前两次中,您的 if 的错误部分会触发并导致两个“更多”警报。之后,所有其他运行都使用 if 子句的真实部分,并将返回“更多”。无论如何,无论您发出什么警报,所有运行都已完成。

break但是,您可以通过在要离开循环的点插入命令来停止循环。但是,这通常会导致代码非常不清楚,因此应尽可能避免。(此外,我怀疑这将是您想要的行为。)

于 2012-04-27T09:03:07.190 回答
3

为什么需要一个 for 循环?我认为这应该足够了:

 if ( response.d.length > imagesPerPage ) 
 {
   alert('more');
 }
 else
 {
   alert('less');
 }
于 2012-04-27T09:03:59.820 回答