這個函數怎么調用不對呢?結果是"1NaNNaNNaN"該怎么調用才對呢
這個遞歸函數的調用
天窗的螞蟻
2016-01-31 12:27:30
TA貢獻1036條經驗 獲得超461個贊
<!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>
你可以這樣試一下
TA貢獻2條經驗 獲得超0個贊
學習了,大受啟發,還可以簡化成這樣
<!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>
省了一個函數和一個全程變量
TA貢獻2條經驗 獲得超0個贊
<!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>
舉報