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

简单函数问题

有几个问题希望童鞋或者老师帮忙解答下,谢谢!

  1. JavaScript有函数声明么?像C语言一样先声明或者定义函数在调用之前才能使用么?

  2. 我写了一个相等的,函数能否没有返回值呢?没有写return 就undefined?什么原因?

  3. 我在函数里写了个“document.write("两个数相等")”;为啥这句话显示在调用之前呢?

    也就是document.write("4与4的比较结果是:"+add(4,4));


提问者:慕移动7500465 2015-12-27 20:49

个回答

  • 王行天下
    2016-01-07 18:36:34

    return的值就是要显示的那个返回值,不return就没有返回值,所以是undifined,这里甚至都不用再设置变量去显示,只需要写个return x、y就行。

    function comp1(x,y){

        if(x<y){

            return y;

        }

        else if(x>y){

            return x;

        }    

        else{    

            z="两数相等";return z;

         }

        }

    //函数体,判断两个整数比较的三种情

    //调用函数,实现下面两组数中,返回较大值。

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

      document.write(" 6 和 3 的较大值是:"+comp1(6,3)+"<br>");


  • 慕移动7500465
    2015-12-27 20:53:41

    function add(x,y){

        var max=0;

        if(x>y){

          return max=x;

        // alert("大于");   

        }

        else if(x<y){

               return max=y;

               // alert("小于");

                

            }

            else{

                  //alert("相等!");

                  //return max = x;

                  document.write("两个数相等");

                  //return true;

                }

       // return max;

    }

    //调用函数,实现下面两组数中,返回较大值。

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

     document.write(" 6 和 3 的较大值是:"+add(6,3)+"<br />"); 

    document.write(" 4 和 4 的较大值是:"+add(4,4)+"<br />");//“相等”显示在" 4 和 4 的较大值是:"之前