Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 提示请求并根据条件重新分配值_Javascript_Node.js_Variables_Prompt - Fatal编程技术网

Javascript 提示请求并根据条件重新分配值

Javascript 提示请求并根据条件重新分配值,javascript,node.js,variables,prompt,Javascript,Node.js,Variables,Prompt,Im使用Javascript/Node.js 我想让用户输入一个数字。 我想检查它的一些条件:它不应该是字符串,应该是大于25的数字。在满足条件之前,应提示“输入数字…”问题。 当条件满足时,它应退出循环,并应分配新的“P”值 循环工作正常,但当它结束时,i console.log(p)中的值不会更新。如果在循环中输入console.log(a),则正确记录该值。 我做错了什么 let p = prompt('Input a number => '); const checkP =

Im使用Javascript/Node.js

我想让用户输入一个数字。 我想检查它的一些条件:它不应该是字符串,应该是大于25的数字。在满足条件之前,应提示“输入数字…”问题。 当条件满足时,它应退出循环,并应分配新的“P”值

循环工作正常,但当它结束时,i console.log(p)中的值不会更新。如果在循环中输入console.log(a),则正确记录该值。 我做错了什么

    let p = prompt('Input a number => ');
const checkP = (a) => {
  while (isNaN(a%2) || a > 25) {
    a = prompt('Input a number or a number less than 25 => ');
  }
};
checkP(p);
console.log(p);

您正在修改变量
a
,该变量是传递的参数,因此它只能在
checkP
函数中使用,也不能进行变异
p

更改此项:

让p=prompt('Input a number=>');
常量检查p=(a)=>{
而(isNaN(a%2)| | a>25){
a=提示('输入一个数字或小于25=>');
}
};
checkP(p);
控制台日志(p);
为此:

让p=prompt('Input a number=>');
常量检查p=()=>{
而(伊斯南(p%2)| | p>25){
p=提示('输入一个数字或小于25=>');
}
};
checkP();
控制台日志(p);