提示一个请求,根据条件重新赋值
Prompt a request and reassign the value according to condition
我正在使用 Javascript/Node.js
我想请用户输入一个数字。
我想检查它的一些条件:它不应该是一个字符串,它应该是一个大于 25 的数字。直到满足条件,应该提示“输入数字...”的问题。
当条件满足时,退出循环并赋值给“P”的新值。
循环工作正常,但是当循环结束并且 i console.log(p) 时,值没有更新。如果 i 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
改变这个:
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);
为此:
let p = prompt('Input a number => ');
const checkP = () => {
while (isNaN(p % 2) || p > 25) {
p = prompt('Input a number or a number less than 25 => ');
}
};
checkP();
console.log(p);
我正在使用 Javascript/Node.js
我想请用户输入一个数字。 我想检查它的一些条件:它不应该是一个字符串,它应该是一个大于 25 的数字。直到满足条件,应该提示“输入数字...”的问题。 当条件满足时,退出循环并赋值给“P”的新值。
循环工作正常,但是当循环结束并且 i console.log(p) 时,值没有更新。如果 i 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
改变这个:
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);
为此:
let p = prompt('Input a number => ');
const checkP = () => {
while (isNaN(p % 2) || p > 25) {
p = prompt('Input a number or a number less than 25 => ');
}
};
checkP();
console.log(p);