首页 > 编程笔记 > JavaScript笔记
JS return语句的用法
JavaScript return 语句在函数定义中的作用有两个:
return 语句可以返回包括基本数据类型、对象、函数等任意类型的值。每个函数都会返回一个值。当没有使用 return 语句,或使用了 return,但其后面没有指明返回值时,函数都将返回“undefined”值。如果需要返回“undefined”以外的值,必须使用 return,同时指明返回的值。
函数一旦执行完 return 语句,将会立即返回函数值,并中止函数的执行,此时 return 语句后的代码都不会被执行。根据 return 语句的这一特性,常常会在需要提前退出函数的执行时,利用不带返回值的 return 语句来随时中止函数的执行。
【例 1】return 语句显式返回函数值。
【例 2】return 语句中止函数的执行。
图 1:return 语句中止函数执行结果
【例 3】return 语句返回函数。
图 2:调用 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 所示。
图 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 所示。
图 2:调用 return 语句返回的匿名函数
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算