Javascript for循环的行为与我预期的不一样

Javascript for循环的行为与我预期的不一样,javascript,Javascript,所以代码非常简单,不必担心iPrime的函数。在我的findprome函数中,我设置了迭代器:primeCnt=0。然后我进入一个for循环,其中我的条件是primeCnt当然primeCnt==10002;这就是循环退出的原因。它最后一次运行是在primeCnt==10001时,之后primeCnt再次递增一次,条件失败,循环结束。顺便说一下,这是在C++和C语言中使用的方法。JavaScript也是一种“C风格的语言”,尽管它有明显的区别 我最初发布了一个版本的评论,但它实际上是一个答案,所

所以代码非常简单,不必担心iPrime的函数。在我的
findprome
函数中,我设置了迭代器:
primeCnt=0
。然后我进入一个for循环,其中我的条件是
primeCnt当然primeCnt==10002;这就是循环退出的原因。它最后一次运行是在primeCnt==10001时,之后primeCnt再次递增一次,条件失败,循环结束。顺便说一下,这是在C++和C语言中使用的方法。JavaScript也是一种“C风格的语言”,尽管它有明显的区别


我最初发布了一个版本的评论,但它实际上是一个答案,所以我将其作为一个答案发布。

那么,让我们解释一下您自己的代码

(var i = 0; primeCnt <= max; i++)

(var i=0;primeCnt在代码的最后一次迭代中,在开始时,primeCnt等于10001。在这一点上,它运行代码块,其中一部分包括将primeCnt增加1。因此,在最后一次迭代运行后,primeCnt为10002。

当然
primeCnt==10002
;这就是循环退出的原因。最后一次它运行时是<代码> PrimeNe==10001 < /Cord>,之后代码> > PrimeNe>代码>再一次增加,条件失败,循环结束。顺便说一下,它在C++和C语言等语言中也是一样的。JavaScript也是一种“C风格语言”。虽然有明显的区别。我想我只是太累了,但我仍然喜欢这份工作,所以我继续努力。就像int I=0;我prime。谢谢你的回答,我不认为你在关注什么对不起,关注什么?谢谢你的回答Ed,我决定给你答案phil的分数太少了,而你的分数太多了,不要让富人现在变得太富有;@BrianOgden-Ha!好吧,很高兴能帮上忙。谢谢你,我很傻,没有看到它,这就像其他的循环一样哈哈
var i = 0;
if (primeCnt <= max)
{
    i++;
}