问答详情
源自:5-5 返回值的函数

return的问题

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>返回值函数</title>
<script type="text/javascript">
  function  app2(x,y)
  { var sum,x,y;
    sum = x * y;
return sum;
  }
var req1= app2(5,6);
 var req2= app2(2,3);
var sumq = req1 + req2;
document.write("req1的值:"+req1+"<br/>");
document.write("req2的值:"+req2+"<br/>");
document.write(req1+"与"+req2+"和:"+sumq);
</script>
</head>
<body>
</body>
</html>


刚刚学的,但是有店不是很理解,这个return到底是什么意思呢

我理解的是,相乘完毕后无论得到什么样的数值,return都可以将计算的结果摩擦掉,返回到最开始的初始效果,这里理解对么

希望大牛给个大白话的解答

提问者:doits 2015-12-04 21:06

个回答

  • 木子舟义
    2015-12-04 21:13:44
    已采纳

    英文 return  中文 返回的意思。也就是说

    function app2(x,y)

      { 

    //这里不用再次声明 x y 了 ,它们已经通过函数参数传过来了

    var sum,x,y;

    //在这里计算 x 乘以 y 的值,并且把结果赋值给sum

        sum = x * y;

    // 这个return 的意思就是把 return 后面的东西返回给调用这个函数的地方  也就是下面的app2(5,6)那里。

    //5 乘以 6 得 30 所以 返回 30    req1 也就等于 30。。 

    //函数是快级作用域。 函数执行完了之后,函数里声明的变量会自动销毁。此时的sum也就不存在了。

    //直到下一次调用这个函数的时候又重新声明sum,重新赋值。
    return sum;
      }
    var req1= app2(5,6);  //等价于   var req1  = 30;



    我这样说你明白吗?

  • 木子舟义
    2015-12-04 21:20:15

    并不是,return 是返回 return 后面的东西,而且一个函数只能return 一次,一次return一个值 (这个app2函数就是返回的计算x乘以y 的计算结果值 sum),return语句后面的语句将不被执行。

    如果没有return 那么函数不会返回值,你再调用这个函数就得不到它们的计算值了