首页 > 编程笔记 > JavaScript笔记

JS return语句的用法

JavaScript return 语句在函数定义中的作用有两个:
return 语句可以返回包括基本数据类型、对象、函数等任意类型的值。每个函数都会返回一个值。当没有使用 return 语句,或使用了 return,但其后面没有指明返回值时,函数都将返回“undefined”值。如果需要返回“undefined”以外的值,必须使用 return,同时指明返回的值。

函数一旦执行完 return 语句,将会立即返回函数值,并中止函数的执行,此时 return 语句后的代码都不会被执行。根据 return 语句的这一特性,常常会在需要提前退出函数的执行时,利用不带返回值的 return 语句来随时中止函数的执行。

【例 1】return 语句显式返回函数值。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>return语句显式返回函数值</title>
<script>
   function expressionCaculate(x){
     if((x >= -10) && (x <= 10)){
         return x * x - 1;
     } else {
         return 5 * x + 3;
     }
   }
   console.log(expressionCaculate(6));
   console.log(expressionCaculate(12));
</script>
</head>
<body>
</body>
</html>
expressionCaculate() 的 return 后面跟着的是一个表达式,在函数执行到 return 语句时会先计算表达式的值,然后返回该值。调用函数时,会根据传给 x 的值,返回不同表达式的值。

【例 2】return 语句中止函数的执行。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>return语句中止函数执行</title>
<script>
   function add(a,b){
     if(a > b){
         console.log("a大于b");
         return;
         console.log("a+b=" + (a + b));
     }
     console.log("a+b=" + (a + b));
   }
   add(7,3);
</script>
</head>
<body>
</body>
</html>
执行 add(7,3) 代码时,将调用 add() 方法,此时第一个参数的值大于第二个参数,在控制台中输出“a 大于 b”,然后函数返回,停止执行,从而 return 语句后面的两条日志都不会被输出。运行结果如图 1 所示。
return语句中止函数执行结果
图 1:return 语句中止函数执行结果

【例 3】return 语句返回函数。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>return语句返回函数</title>
<script>
   function outerFunc(){
        var b = 0;
       return function(){ //返回匿名函数
            b++;
            console.log("内部函数中b=" + b);
        }
   }
   var func = outerFunc();
   func();
</script>
</head>
<body>
</body>
</html>
因为 outerFunc() 函数返回一个匿名函数,所以 outerFunc 函数的调用表达式就变为了函数表达式了,从而可以使用变量 func 来调用匿名函数。运行结果如图 2 所示。
调用return语句返回的匿名函数
图 2:调用 return 语句返回的匿名函数

所有教程

优秀文章