问答详情
源自:5-2 定义函数

这样的代码为什么显示的结果为NaN?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>定义函数</title>

<script type="text/javascript">

    function sub2(a,b)                     //定义函数

 {

   sub=a-b;

   alert("a和b的差:"+sub);

 }

 sub2(19,8)

</script>

</head>

<body>

<form>

    <input type="button" value="点击我" onclick="sub2()" />

</form>

</body>

</html>

这是我改的那段代码,为什么显示结果为:a-b结果为NaN?这段代码有问题?


提问者:Balrog 2016-04-09 14:12

个回答

  • 大块吃肉188
    2016-08-05 10:52:57

     sub2(19,8)这一句已经调用了函数,打开页面的时候应该会有弹窗显示“a和b的差是:11”但是你点击按钮调用函数sub2()的时候没有给a和b传入参数,所以弹窗显示“a和b的差是:NaN”

  • cc菌
    2016-07-26 10:42:01

    把alert放到一个新的函数里去,再调用这个函数实现按钮的功能。

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>定义函数</title>

    <script type="text/javascript">

        function sub2(a,b)                     //定义函数

     {

       sub=a-b;

     }

     sub2(6,4);

     function total(){                           //再定义一个函数

         alert("a和b的差:"+sub);

     }

    </script>

    </head>

    <body>

    <form>

        <input type="button" value="点击我" onclick="total()" />

    </form>

    </body>

    </html>


  • SimpleDog
    2016-04-12 02:37:04

    需要传参 不然会nullException

  • 队友挂机我选1V5
    2016-04-09 20:26:14

    sub2(a,b),使用这个函数需要加上参数,因为你定义的时候是有参数的

  • 诗简言
    2016-04-09 14:52:30

    调用带参数的函数时,须给参数传入具体的数值

  • qq_以默轩然_03123526
    2016-04-09 14:30:31

    NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。你点击事件里没有传入参数

  • 余梦
    2016-04-09 14:26:41

     <input type="button" value="点击我" onclick="sub2(a,b)" />

    你调用函数时加上参数试一试