0

我写了一些javascript代码,在其中我做了一个递归函数。我期待一个数值,但是我收到一个 NaN。我该如何解决这个问题?

<script language="javascript">
    function toperform()
    {
        var proceed=confirm("Do you want to proceed?");
        if (proceed==true)
        {
            var a = checknum("num1");
            var b = checknum("num2");
            alert("The sum is "+(a+b));                                             
        }
        else
        {
            alert("You chose not to proceed!");
        }
    }
    function checknum(arg)
    {
        var num=parseInt(prompt("Enter "+arg));                                     
        if (isNaN(num))
        {
            alert("Please enter a valid number");
            num=checknum(arg);
        }
        return num;
    }
</script>
4

1 回答 1

0

我认为这更语义化,重复直到得到一个有效的数字,但不是递归的

function checknum(arg)
    {
        var num = null ; 
        while (isNaN(num))
        {
            if (num != null)
                alert("Please enter a valid number");   
            var input = prompt("Enter "+arg);
            num = parseInt(input);              
        }
        return num;
    }
于 2013-06-25T09:42:40.873 回答