简化我的isNaN函数中的两个输入变量JavaScript
Simplify my isNaN function for two input variables - JavaScript
我有两个变量,我正在通过两个提示获取。一个是startNum,另一个是rangeNum。我试图错误地捕捉它,这样如果它们不是正数,它就会重新提示用户,直到给出一个正值。目前,我通过运行isnan for each vaible来完成这项工作,但我想知道我是否可以只使用一个功能来检查输入的数字是否为正数的两个提示,如果不是,它会向用户重新提示正确的提示。提前感谢您的帮助/回答。
function isPosNum() {
startNum = parseInt(prompt("Please enter a positive starting value"));
if (isNaN(startNum)) {
return NaN;
} else if (startNum < 0) {
console.log('failed');
alert('That is not a positive number. Please try again and enter a positive number.');
return "negative";
isPosNum();
} else if ( startNum > 0) {
console.log('worked');
//push initial value to the array
numArray.push(startNum);
//enterRange();
return "positive";
} else {
return "zero";
}
function enterRange() {
rangeNum = parseInt(prompt("Please enter a number to determine the range of values."));
if (isNaN(rangeNum)) {
return NaN;
} else if (rangeNum < 0) {
console.log('failed');
alert('That is not a positive number. Please try again and enter a positive number.');
return "negative";
enterRange();
} else if ( rangeNum > 0) {
console.log('worked');
//push initial value to the array
//collatz();
return "positive";
} else {
return "zero";
}
}
}
多亏了deamentiaemundi的回答,我才得以使代码正常工作。这是我给那些想看的人的最后代码。
function getStartNum(){
startNum = parseInt(prompt('Please enter a starting number greater than 0.'));
if(!isPosNum(startNum)){
alert("error! That is an incorrect value. Please renter an appropriate positive value.");
getStartNum();
} else {
getRangeNum();
}
}
function getRangeNum(){
rangeNum = parseInt(prompt('Please enter a range value greater than 0'));
if(!isPosNum(rangeNum)){
alert("error! That is an incorrect value. Please renter an appropriate positive value.");
getRangeNum();
}
// and so on
}
function isPosNum( number ) {
if (isNaN( number )) {
return false;
} else if (number < 0) {
return false;
} else if (number == 0) {
return false;
} else {
return true;
}
}
生成一个函数checkRange(number)
,该函数将数字作为参数,并根据该数字返回true
或false
。第二个功能是有提示的功能
function getNumbers(){
startNum = parseInt(prompt('Please enter a number'));
if(!checkRange(startNum)){
alert("error!");
getNumbers();
}s
rangeNum = parseInt(prompt('Please enter a range'));
if(!checkRange(rangeNum)){
alert("error!");
getNumbers();
}
// and so on
}
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 比较jquery中的两个输入
- 使用javascript将两个输入的日期添加在一起
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 比较两个输入字段
- 在 JavaScript 中计算两个输入字段值
- 在 ng 模型中具有单向绑定的两个输入
- 比较两个输入值的 AngularJS 无法按预期工作
- 有两个输入的表单未提交
- 点击页面刷新;重新显示两个输入元素
- 无法破解pass-css插件以使两个输入元素出现在一行中
- 一种在javascript上获得具有两个输入(字符串)的散列键的方法
- 获取两个输入元素的值,并检查第三个元素的值.将值设置为第四个元素
- 如何在JavaScript中关联两个输入
- 使用jquery计算提取数据的两个输入值
- 验证两个输入之间的一个输入
- 使用javascript获取两个输入范围的值
- 节点js可以计算两个输入字段的值并更新另一个字段吗?
- 输入两个输入,填写第三个
- JavaScript 在两个输入中计算错误的百分比