尝试获取数字的最大质因数时浏览器崩溃 (Javascript)

Browser Crashes when trying to get Largest Prime Factor of a number (Javascript)

下面是代码。当使用小数(5 位)或大数(12 位)的数字参数调用函数 largestPrime(number) 时,此代码每次都会使浏览器崩溃。我仔细审查了它,但仍然不知道出了什么问题。请不要用不同的解决方案来回答这个 objective,我想了解我的代码有什么问题。谢谢!


var sqRoot = function(n) {
return Math.sqrt(n);
}

var isInt = function(n) {
if(n%1 === 0) {
  return true;
}
  else {
    return false;
  }
}

var primeCheck = function(n) {
var res = true;
var y = 2;
while(y <= sqRoot(n) && res === true) {
  if(!isInt(n) || isInt(n/y)) {
    res = false;
  }
  else {
    y+=1;
  }
}
return res;
}

var largestPrime = function(n) {
var y =2;
var temp = true;
var res = n/y;
while(temp === true) {
  if(primeCheck(res)) {
    temp = false;
  }

  else {
  y+=1;

  }
}
return res;
}


largestPrime(/*here goes the number to be evaluated*/)

你在 largestPrime 中的 res 在循环体中从未被改变,所以程序进入了无限循环。