Javascript 调用同一函数时返回未定义
这是我的密码Javascript 调用同一函数时返回未定义,javascript,jquery,Javascript,Jquery,这是我的密码 function secondval_prompt(firstval) { var secondval = prompt("should be greater than 1st value"); if((secondval > firstval) && (secondval != "") && (!isNaN(secondval))) { return secondval; } else { secondval_pr
function secondval_prompt(firstval) {
var secondval = prompt("should be greater than 1st value");
if((secondval > firstval) && (secondval != "") && (!isNaN(secondval))) {
return secondval;
} else {
secondval_prompt(firstval);
}
}
var firstvalue = prompt("Enter 1st value");
var secondvalue = secondval_prompt(firstvalue);
alert(secondvalue);
如果我第一次给出的第二个值
大于第一个值
,则返回的第二个值
正确。一旦我第一次给出的第二个值
错误(小于第一个值
),并给出了正确的值(大于第一个值
)第二次返回未定义
为什么在第二次尝试时返回未定义的
演示链接:
请像这样试试
首先
第一个值为100
&
将第二个值设为101
它将返回101
秒
第一个值为100
&
将第二个值设为10
&
再次将第二个值设为101
它将返回未定义的您还需要返回递归函数中的值
return secondval_prompt(firstval);
请注意,您当前正在对提示符中输入的文本值进行比较<代码>“5”
将被视为高于“10”
,因为它们各自按字母顺序排列。您可能需要parseInt
两个输入:
if(parseInt(secondval, 10) > parseInt(firstval, 10))
您还应该应用与当前应用于secondval
相同的有效性测试。此时,您的代码将为firstval
接受非数字值。您的函数似乎缺少一条返回语句