为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个递归函数这个变量j等于nan?

为什么这个递归函数这个变量j等于nan?

慕桂英3389331 2019-03-14 14:15:11
1.为什么外部这个J没有赋值成功,而是返回了nan?<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <body>        <script type="text/javascript">            var j;            function indexx(index) {                if(index == 1) {                    return 1;                }                 j= index * indexx(index - 1);            }            indexx(4);            console.log(j);        </script>    </body></html>
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

var j;


    function indexx(index) {

        if(index == 1) {

            return 1;

        }

        return j= index * indexx(index - 1);

    }

    indexx(4);

    console.log(j);

不等于1的时候return的是undefined啊


查看完整回答
反对 回复 2019-03-20
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

一个函数运行的时候没有返回值,将返回这个函数本身。

当你的index不等于1的时候,indexx函数没有返回值,会把自己本身当成一个结果进行计算,函数进行数值计算的结果就是NaN


查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 627 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信