今天给大家分享:return的用法是什么?若用在for循环中,还会执行下一次循环吗?
分享人:聂义中
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1.背景介绍
什么是return?
return是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return返回,这样在调用函数的地方就可以用变量接收返回结果。return关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以
2.知识剖析
return语句的用法
1返回函数值,语句结束函数执行
语法为:returnexpression
functionaa(){
return1//返回数字alert(1);
};
aa();
functionbb(){
return"asdf"//返回字符串}
bb();
functioncc(){
returnfunction(){//返回函数vara=1;
}
alert(1);
}
cc();
2利用return阻止执行某些默认的行为。
JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。而该值决定了当前操作是否继续。当返回的是true时,将继续操作。当返回是false时,将中断操作。而直接执行时(不用return)。将不会对window.event.returnvalue进行设置所以会默认地继续执行操作
如果函数add_onclick()返回true,那么页面就会打开abc.htm
否则,(返回false),那么页面不会跳转到abc.htm,只会执行你的add_onclick()
函数里的内容.(add_onclick函数中控制页面转到abc.htm除外)
不管add_onclick()返回什么值,都会在执行完add_onclick后打开页面abc.htm
我们常用returnfalse来阻止提交表单或者继续执行下面的代码
如果函数add_onclick()返回true,那么页面就会打开abc.htm
否则,(返回false),那么页面不会跳转到abc.htm,只会执行你的add_onclick()
函数里的内容.(add_onclick函数中控制页面转到abc.htm除外)
Open
不管add_onclick()返回什么值,都会在执行完add_onclick后打开页面abc.htm
onclick事件时就相当于onclick="returntrue/false"例:functioncheck()
{
if(obj.value=="")
{
window.alert("不能为空!");
obj.focus();
returnfalse;
}
returntrue;
}
调用方法返回true时才提交表单,反之则不提交,这是submit按钮returnfalse只在当前函数有效,不会影响其他外部函数的执行。
return回调函数
onclick事件时就相当于onclick="returntrue/false"例:functioncheck()
{
if(obj.value=="")
{
window.alert("不能为空!");
obj.focus();
returnfalse;
}
returntrue;
}
利用回调函数来产生循环效果。
var i=0; //定义循环变量functionfunc1(){
i++; //改变循环变量if(i<5)
{ //小括号为循环条件
document.write(i+''); //这里是循环体returnfunc1();
}
}
func1();//调用函数之所以可以实现循环,是因为这里利用了return的回调函数,使得函数返回的是自己。
3.常见问题
若return用在for循环中,还会执行下一次循环吗?
代码示例:
functiondd(){
vargroup=[];
for(vari=0;i<4;i++){
return5;
group.push(i);
}
returngroup;
}
dd();
我们可以看到,for循环只返回return所返回的值,并不会执行下一次循环,而是起到跳出循环的作用
4解决方案
5.编码实战
6.扩展思考
除了return,还有什么方法可以让循环被打断?
break方法
for(vari=0;i<=10;i++){
console.log(i);
if(i==5){break;}
}
上面这个break实例,输出的结果为:12345,当i的值等于5的时候直接通过break跳出了循环,不再继续往下运行。
continue方法
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。for(vari=0;i<=10;i++){
if(i==5){continue;}
console.log(i);
}
7.参考文献
参考1:对js中return用法的详细介绍
参考2:js中return的用法
8更多讨论
1 continue break return有什么区别?
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
鸣谢
感谢大家观看
by聂义中
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~