问答详情
源自:5-6 编程练习

为什么结果这样显示?

5 5和4的较大值是:undefined

6 6和3的较大值是:undefined

提问者:等待Mr薰衣草 2016-04-06 21:13

个回答

  • expressqingqing
    2016-04-10 12:50:34
    已采纳

    因为JS会先执行在前面的函数里面的document.write(),如果你不想提前输出最大值,必须用return对函数结果进行处理。

    <script type="text/javascript">

    function infos(a,b){

    if(a>b){

        return a;

    }else if(a<b){

        return b;

    }else{

        return a;

    }

    }

    var res1=infos(5,4);

    res2=infos(3,6);

     document.write(" 5 和 4 的较大值是:"+res1+"<br>");

     document.write(" 6 和 3 的较大值是:" +res2); 

    </script>


  • SimpleDog
    2016-04-12 03:16:46

    因为document.write()是网页向文档输出数据 而用ruturn是返回当前结果 而你document.write(x)输出的只有一个x 当然会undefined啦

  • 心如大海_春暖花开
    2016-04-06 22:01:08

    应该是你比较的函数写错了。

  • 不爱学习的小火猴
    2016-04-06 21:38:42

    你是不是在function中的return后边没有写返回值?所以才会显示undefined

    像下边这样?

    if(x>y)

     return ;

  • 我不想学习
    2016-04-06 21:26:43

    好歹把代码挂上啊。。。

    这样显示大概是因为你比较的 不是int而是字符串,或者你比较的函数写错了