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

请问当我的全局变量和函数的返回值名称一样时,为什么全局的变量得到的永远是最后一次函数执行的返回值

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>函数</title>


<script type="text/javascript">


//定义函数

function max2(x,y)

             {

              if(x>y)  

              {result = x}

              else {result = y} 

              return result

             }

var result = max2(5,4)

var result1 = max2(6,3)


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




 

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

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

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





</script>

</head>

<body>

</body>

</html>


提问者:慕设计2718092 2018-10-17 14:36

个回答

  • 齐玄宗
    2018-10-18 10:51:48

    首先你的判断条件中,缺少两个参数相等的情况

    其次你的返回值有问题,这是一个比较大小的判断,返回值应该是你传入参数中的其中一个,而不是返回计算结果

    function compare(a,b) {

                    if (a<b) {

                        return b;

                    } else if (a==b) {

                        return a||b;

                    } else {

                        return a;

                    }

                }

            

            

            

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

            

            

            

             

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

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

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