大家好,我是IT修真院成都分院第四期的学员。
今天给大家分享一下,修真院官网web前端工程师Js任务4,深度思考中的知识点——“return的用法是什么?若用在for循环中,还会执行下一次循环吗”?
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1.背景介绍
return顾名思义,英文翻译含义就是回转,返回。
在javaScript函数中,return表示被调函数返回到主调函数或者说上一级继续执行,返回时可附带一个返回值,这个值将作为函数的结果。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否, 主调函数可以通过返回值判断被调函数的执行情况。
2.知识剖析
关于return的返回值
返回值通常是变量、表达式、对象、布尔值等等,也可以不设返回值。通常有四种情况:
retrun true; 返回正确的处理结果。
return false;分会错误的处理结果,终止处理。
return;把控制权返回给上级。
retrun 变量、表达式、对象; 将返回值作为函数结果,并返回上一级
function a(){
return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
document.write(50);//由于上面已经return了,这条代码不会执行
}
function a( b, c ) {
return b + c;
}
//那么调用:
var abc = a(5, 80); //这个时候,abc这个变量的值会是85
function a( b, c ) { //那么页面会输出85,但abc是没有值的;
document.write( b + c );
}
return true/false :同意或阻止默认行为
如果想要取消默认的事件行为,可以使用return false;
<a href="http://www.baidu.com" onclick=" return fun()">demo1</a>
<script type="text/javascript">
function fun(){
location.href="http://www.sina.com.cn";
return false;
}
</script>
以上 当return false 时,<a>标签会跳转页面至新浪,当return true时,会执行跳转至百度页面。
3.常见问题
若用在for循环中用到了return,还会执行下一次循环吗?
4.解决方案
functioncounter() {
for(varcount=1;count<10;count++) {
document.write(" "+count+"Animal"+" ");// until 5
if(count===5) {
return;
}
document.write(" "+count+"Boy"+" ");// until 4 (因为在5的时候,就已经return了)
}
document.write(count+"Cat");// never appears (因为这个c写在了for循环的外面)
}
counter();
5.编码实战
6.扩展思考
除了return,还有没有别的方式中断for循环?
break和continue也是可以中断for循环的
break
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。
functioncounter() {
for(varcount=1;count<10;count++) {
document.write(" "+count+"Animal"+" ");// until 5
if(count===5) {
break;
}
document.write(" "+count+"Boy"+" ");// until 4 (因为在5的时候,就已经return了)
}
document.write(count+"Cat");// never appears (因为这个c写在了for循环的外面)
}
counter();
continue
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。 continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
functioncounter() {
for(varcount=1;count<10;count++) {
document.write(" "+count+"Animal"+" ");// until 5
if(count===5) {
continue;
}
document.write(" "+count+"Boy"+" ");// until 4 (因为在5的时候,就已经return了)
}
document.write(count+"Cat");// never appears (因为这个c写在了for循环的外面)
}
counter();
迭代
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值
Js中的迭代语句又叫循环语句,声明一组要反复执行的命令,直到满足某些条件为止。
ECMAScript 中提供了4种迭代语句:
do-while 语句
while 语句
for-in 语句
for 语句
7.参考文献
参考1: ECMAScript break 和 continue 语句
href="http://www.w3school.com.cn/js/pro_js_statements_break_continue.asp"
参考2: js中return;、return true、return false;区别
href="http://www.cnblogs.com/weiwang/archive/2013/08/19/3268374.html"
8.更多讨论
href="http://www.guokr.com/question/528682/"
PPT地址:
https://ptteng.github.io/PPT/PPT/js-4-return.html#/
视频地址:
Js 中return的用法_腾讯视频
文本地址:
http://www.jnshu.com/daily/23884
------------------------------------------------------------------------------------------------------------------------
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !http://www.jnshu.com/login/1/96029204
网友评论