猿问

这个递归函数的调用


56ad8c8e0001921704390321.jpghttp://img.mukewang.com/56ad8cab0001ea1a01410039.jpg这个函数怎么调用不对呢?结果是"1NaNNaNNaN"

该怎么调用才对呢



天窗的蚂蚁
浏览 1593回答 3
3回答

李晓健

<!DOCTYPE html> <html> <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>xxx</title>     <script>         var result =1;         function fact(num) {             if(num <= 1) {                 return 1;             } else {                 return num * fact(num - 1);             }         }         function fact2(m){             var result = fact(m);             document.write(result);         }     </script> </head> <body> <input type="button" onclick="fact2(5)" value="aaaaa"> </body> </html>你可以这样试一下

不劳虎

学习了,大受启发,还可以简化成这样<!DOCTYPE html> <html> <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>xxx</title>     <script>          function fact(num) {             if(num <= 1) {                 return 1;             } else {                 return num * fact(num - 1);             }         }     </script> </head> <body> <input type="button" onclick="document.write(fact(5))" value="aaaaa"> </body> </html>省了一个函数和一个全程变量

不劳虎

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>div标签</title><script type="text/javascript">    function fact(m)    {        if (m<=1)        {            return(1);        }        else        {            return(m*fact(m-1));        }            }</script></head><body>    <script>        document.write(fact(5));    </script></body></html>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答