【JS-task4】

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

分享人:陈星宇

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

什么是return?

return 语句会终止函数的执行,并返回函数的值。


                语法:
                return value;
                可选项 value指定返回的值。如果忽略则返回undefined.
            

在函数中 ,return 语句用于终止一个函数的执行,并返回值value。如果value被省略, 或在函数内没有 return 语句被执行,则函数返回undefined。

2.知识剖析

return语句的用法

1、中止函数的执行,并返回函数执行的结果

语法为:return+表达式

return 返回的值可以是任何数据类型


                function type(){
                   var a=1;
                   var b=2;
                   return a+b;//返回数值
                   alert('a')
                  }
                type();
                console.log(type());
                function string(){
                   return "字符串"//返回字符串
                }
                console.log(string());
                function arr(){
                  return [1,2,3,4]//返回数组
                }
                console.log(arr());
                function object(){
                return {"name":"cxx", "age":13}//返回对象
                }
                console.log(object());
            

2、使用return阻止某些浏览器默认的行为

语法为:return false;

可以在a标签中实践一下。

请看demo的例子:

                 
                     
                         按钮1
                         按钮2
                     
                     
                 
             

3.常见问题

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

除了return之外,还有哪些语句可以跳出循环?

4 解决方案

代码示例:


                function jumpLoop() {
                   result = []
                   for(var i=0;i<10;i++){
                      result.push(i)
                      if(i===8){
                         return result;
                      }
                   }
                }
                console.log(jumpLoop())
            

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

除了return之外,还有哪些语句可以跳出循环?

break


                    for(var i=0;i<=10;i++){
                       console.log(i);
                       if(i==5){break;}
                    }
                

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

continue

                    
                        for(var i=1;i<=10;i++){
                            if (i === 3||i===7) continue;
                            console.log(i);
                        }
                    
                

上面这个continue实例,输出的结果为:124568910,当i的值等于3或者7的时候直接跳过,继续执行循环。

5.编码实战

6.扩展思考

jq的return false 和原生的return false有什么区别

在jq中使用return false实际上它完成了3件事: 1.event.preventDefault()
preventDefault() 方法阻止元素发生默认的行为
2.event.stopPropagation()
event.stopPropagation()阻止捕获和冒泡阶段中当前事件的进一步传播
3.终止函数的执行并返回结果。
jq的return false会同时阻止浏览器默认事件的发生,阻止事件的冒泡,并且返回函数值,而在原生js中,return并不能阻止事件的冒泡.

JS中return False 就相当于终止符,终止默认的事件行为

7.参考文献

参考1:event.preventDefault() vs. return false

参考2:javascript中break,continue和return语句用法小结

参考2: js中return的用法

8 更多讨论

鸣谢

感谢大家观看

BY :包腾飞|陈树威|陈星宇