Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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_Jquery - Fatal编程技术网

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

接受非数字值。您的函数似乎缺少一条返回语句