Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下面的代码只生成一个输出true。如何调试它?_Javascript_Function - Fatal编程技术网

Javascript 下面的代码只生成一个输出true。如何调试它?

Javascript 下面的代码只生成一个输出true。如何调试它?,javascript,function,Javascript,Function,我有下面的代码来生成素数。但是,它不是生成素数,而是生成从2到输入函数的数字的整个列表。如何解决这个问题? var i=2; var primeCheck=功能(编号){ 而(i只需在您想要发出警报的情况下使用primeCheck(11) 您的逻辑中有一些错误,当我尝试使用primeCheck(12)时,它并没有给出预期的结果 var i=2; var primeCheck=功能(编号){ 而(i返回警报的if条件使用不带参数的primecheck()运行。请将其更正为: 如果(检查(11))

我有下面的代码来生成素数。但是,它不是生成素数,而是生成从2到输入函数的数字的整个列表。如何解决这个问题?
var i=2;
var primeCheck=功能(编号){
而(i只需在您想要发出警报的情况下使用
primeCheck(11)
您的逻辑中有一些错误,当我尝试使用primeCheck(12)时,它并没有给出预期的结果

var i=2;
var primeCheck=功能(编号){

而(i返回警报的if条件使用不带参数的primecheck()运行。请将其更正为:

如果(检查(11)){

警惕(“主要”)

}


还删除调用PrimeChChice(11)的最后一行。

< P>如果您想返回某个代码,请返回< <代码> >而不是<代码>警报;断开< /C> >。我将考虑重构这一点。首先,您永远不应该有一个执行依赖于外部变量的简单任务的功能。保持模块化。

function isPrime(num) {
  for (var i = 2; i < num; i++) {
    if (num % i === 0) {
      return false;
    }
  }

  return num > 1
}

顺便说一句,您需要iWell,
undefined
不是质数,因此您的函数不会返回
true
,因此
警报
不会被警报…您的意思是将数字传递到
if(primeCheck())
…?@Bathsheba谢谢,我会把它放在里面的mind@deceze事实上,我想这样做。但是,如果我在函数声明中使用参数“number”,它会输出一个错误,表示“number未定义”您想在没有参数的情况下调用
primeCheck
,并期望它返回
true
?为什么?为什么“no number”是prime?如果将停止条件替换为
i*i为什么要使用
return num>1
?因为在循环中的这一点上,数字可以是{-无穷大…1}(不是质数)或2或任何其他素数。这是解释两者的最简单方法。如果该数大于1,则返回true,排除所有通过循环的潜在非素数。我明白了。感谢您提供的信息。事实上,我对编程非常陌生,所以我不知道如何优化我的代码。@Bathsheba我同意有许多优化方法可以帮助您t可以用于运行时,但这似乎超出了这个问题的范围。
function isPrimeText(num) {
  return isPrime(num) ? "Prime" : "Not Prime"
}