IT修真院-前端

return的用法是什么?若用在for循环中,还会执行下一次循环

2017-11-02  本文已影响803人  slashnie


今天给大家分享: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聂义中

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

上一篇下一篇

猜你喜欢

热点阅读