发表于: 2017-04-27 19:43:43

1 974


小课堂【武汉修真院】145期

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


1.背景介绍

什么是return?

return 语句从当前函数退出,并从那个函数返回一个值。

语法:

                return[()[expression][]];

                可选项 expression 参数是要从函数返回的值。如果省略,则该函数不返回值。

用 return 语句来终止一个函数的执行,并返回 expression 的值。如果 expression 被省略,或在函数内没有 return 语句被执行,则把值 undefined 赋给调用当前函数的表达式。

RETURN语句的用法:1返回函数结果

语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果。

              function test(){

                   var num="90";

                   alert(num);

                   return function(){

                                   var num="110";

                                   alert(num);

                                   }

                }

                var result=test();//90

                result();//110

            

return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值, 由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

RETURN语句的用法:2返回函数控制

语法为:return;无函数结果.

在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为. 例如,默认情况下点击一个a元素,页面会跳转到该元素href属性指定的页.

return false 就相当于终止符,Return true 就相当于执行符。

在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的 onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果 你想取消对象的默认动作就可以return false。

在js中,我们常用return false来阻止提交表单或者继续执行下面的代码,通俗的来说就是阻止执行默认的行为。 例如下面的例子:

                返回控制:

                function s1(){

                        if(true)

                            {

                        return false;

                        }

                返回结果:

                function s2(){

                        if(true)

                            {

                        return 4;

                        }

                function s3(){

                        s1();

                        s2();

                }

                console.log('s3的值',s3())


即使m函数返回return false 阻止提交了,但是不影响 s2()函数的执行。 在s3()函数里调用s1()函数,那面里的return false 对于s3()函数来说,只是相当于返回值。 而不能阻止s3()函数执行。 return false 只在当前函数有效,不会影响其他外部函数的执行。


3.常见问题

若RETURN用在FOR循环中,还会执行下一次循环吗?

代码示例:

                    function demo() {

                        var group = [];

                        for (var i=0;i<4;i++){

                            return 5;

                            group.push(i);

                        }

                        return group;

                    }

                    demo();

                

我们可以看到,for循环只返回return所返回的值,并不会执行下一次循环。

4 解决方案

5.编码实战

6.扩展思考

return可以跳出循环,但并非仅仅就return一种方法,还有break方法可以使用,那么break怎么使用?

                    for(var i=0;i<=10;i++){

                       document.write(i);

                       if(i==5){break;}

                    }

                

上面这个break实例,输出的结果为:12345,当i的值等于5的时候直接通过break跳出了循环,不再继续往下运行。

7.参考文献

参考1: js中return的用法

参考2:return,break,continue的异同和用法

8 更多讨论

continue的用法?

            



返回列表 返回列表
评论

    分享到