为什么我的JavaScript代码中可能存在无限循环?

普拉纳夫·盖特(Pranav Ghate)

我希望找到从1到N范围内的所有素数之和。当我调用值为3的sumPrimes函数时,该代码给出了一个无限循环。我调试了代码,发现它仅对数字3。对于大于2的任何其他数字,则不会这样做。

JavaScript:

function sumPrimes(num) { 
    var sum=0;
    for (i = 2; i <= num; i++) {
        if (checkPrime(i)) {
            sum += i;
        }
    }

    return sum;
}

function checkPrime(num) {
    for (i = 2; i <= Math.sqrt(num); i++) {
        if (num % i === 0) {
            return false;
        }
    }

    return true;
}
鲍杜安

因为您必须i使用var进行声明所以它将在函数中成为局部函数。

for (var i = 2; i <= num...

否则,这两个函数使用相同的全局变量。

如果您想避免此类错误,则应使用strict modeJavaScript使用严格

您只需"use strict";要将.js文件放在顶部。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我在JavaScript中遇到无限循环

为什么我的代码中出现无限循环?

为什么我用此React代码遇到无限循环?

为什么我的C ++代码将进入无限循环?

代码无限循环,我不明白为什么

为什么我的代码在抓取时陷入无限循环?

JavaScript:为什么我的 While 循环无限循环?

我的python代码中存在无限循环问题

为什么facebook javascript登录代码会导致无限循环?

为什么__getattribute__中存在无限递归循环风险?

不知道为什么,但我的代码破坏了命令提示符(可能是无限循环)

为什么如果我在JavaScript的(for循环)中将(myVariable + = 1)替代(myVariable ++),则在此代码中生成无限循环?

为什么在将这个无限循环添加到我的 javascript 代码后我的页面没有加载?

为什么此代码进入无限循环

为什么代码进入无限循环

为什么我在React JS中的代码会进入无限循环,同时满足这两个条件?

为什么我的代码在执行的初始嵌套 for 循环中进入无限循环?

为什么我的程序无限循环?

为什么我的基本递归无限循环?

为什么我的python while无限循环?

为什么我陷入无限循环

为什么我的读者陷入无限循环

尽管存在终止条件,但为什么无限循环仍然存在?

如果数字大于或等于772000000000000,为什么我的python代码会产生无限循环?

为什么我的代码循环无限提交而不回显$ post名称test_value?

为什么这是C ++中的无限循环?

Python中的无限循环-为什么?

在Excel中搜索无限循环,为什么?

componentDidUpdate 中的无限循环错误......为什么?