1.背景介绍
什么是return?
return 语句会终止函数的执行,并返回函数的值。
语法:return value;
可选项 value指定返回的值。如果忽略则返回undefined.
在函数中 ,return 语句用于终止一个函数的执行,并返回值value。如果value被省略,
或在函数内没有 return 语句被执行,则函数返回undefined
2.知识剖析
return语句的用法
1、中止函数的执行,并返回函数执行的结果
语法为:return+表达式
return 返回的值可以是任何数据类型
2、使用return阻止某些浏览器默认的行为
语法为:return false;
这种用法通常用于阻止表单的提交。
在提交表单前,我们需要先校验客户提交的数据,格式是否正确,或者需要对这些数据进行一个处理再提交,这时候就需要先阻止下默认提交表单的行为 例如下面的例子:
3.常见问题
问题1:若return用在for循环中,还会执行下一次循环吗?
问题2:除了return之外,还有哪些语句可以跳出循环?
4 解决方案
问题1:
我们可以看到,for循环只返回return所返回的值,并不会执行下一次循环。
问题2:
break
上面这个break实例,输出的结果为:12345,当i的值等于5的时候直接通过break跳出了循环,不再继续往下运行。
continue:
上面这个continue实例,输出的结果为:1234678910,当i的值等于5的时候直接跳过,继续执行循环。
5.编码实战
6.扩展思考
jq的return false 和原生的return false有什么区别?
在jq中使用return false实际上它完成了3件事:
1.event.preventDefault()
2.event.stopPropagation()
3.终止函数的执行并返回结果。
jq的return false会同时阻止浏览器默认事件的发生,阻止事件的冒泡,并且返回函数值,而在原生js中,return并不能阻止事件的冒泡.
7.参考文献
参考1:event.preventDefault() vs. return false
参考2:javascript中break,continue和return语句用法小结
参考3:return的用法
8.更多讨论
Q1:switch 语句中可以使用return吗?也是和break起到一样的作用和效果吗?
A1:return只能使用在函数内使用,如果在单纯的switch语句内使用则会报错。
Q2:除了return,还有啥可以让for循环中断?
A2:除了return之外,还有break 语句和continue语句可以跳出循环。
Q3:函数中在某段代码前 return, 后面的代码还有变量提升吗?
A3:函数在执行到return语句后就会立马退出,在return后面的代码将不再执行,所以在return后不会有变量提升。
PPT
视频