RETURN的用法是什么?

小课堂【北京分院】

分享人:程荣强

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

JavaScript return 语句

表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。
如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码), 主调函数可以通过返回值判断被调函数的执行情况。

2.知识剖析

return返回值的作用就是把固定不变的,常用的代码封装起来写在类里, 每次用到的时候就调用就行了。

return 语句会终止函数的执行并返回函数的值。
                
                    function a(){
                    return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
                    document.write('');//由于上面已经return了,这条代码不会执行
                    }
                
            
见demo1
函数值和实际输出值的区别
                
                    function  a( b, c ) {
                    return b  + c;
                    }
                    那么调用:
                    var abc = a(5, 80);
                    这个时候,abc这个变量的值会是85
                    如果想直接输出结果,不要返回值那就
                    function a( b, c ) {
                    document.write( b + c );
                    }
                    这个时候调用, var abc = a(5, 80);
                    那么页面会输出85,但abc是没有值的;
                
            
见demo2
也可以说默认函数是没有返回值的。 通常函数经过一系列处理后需要给外部返回一个值或者对象
                
                比如function sum(a,b){return a+b};
                    alert(sum(1,2));
                
            
如果没有return将会弹出undefined,见demo3
return在终止函数运行时的应用:为事件处理函数返回return:false; ,作用在于阻止默认事件行为和取消默认动作。
                
                demo4
                    
                    
                    function demo4() {
                    return false;
                    }
                
            

3.常见问题

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

                
                    function counter() {
                    for (var i=1; i<10; i++) {
                    console.log(count + "A");
                    return;                         //直接就返回了,下面的代码不会再执行
                    console.log(count + "B");
                    }
                    console.log(count + "C");
                    }

                    counter();

                    // Output:
                    // 1A
                
                

中断功能,函数立即停止在该点return被调用。

                
                    function counter() {
                    for (var count = 1; ; count++) {  // infinite loop
                    console.log(count + "A"); // until 5
                    if (count === 5) {
                    return;
                    }
                    console.log(count + "B");  // until 4 (因为在5的时候,就已经return了)
                    }
                    console.log(count + "C");  // never appears (因为这个c写在了for循环的外面)
                    }

                    counter();

                    // Output:
                    // 1A
                    // 1B
                    // 2A
                    // 2B
                    // 3A
                    // 3B
                    // 4A
                    // 4B
                    // 5A
                
                

4.解决方案

5.编码实战

6.扩展思考

除了return,还有啥可以让for循环中断呢?

就是break 跟 continue ;

break

break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。

continue

continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。 continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

break 和 continue的使用示例

迭代

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

函数

在数学中,迭代函数是在碎形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

7.参考文献

参考:峰峰师兄

参考:冲冲老师

《Javascript DOM 编程艺术》

8.更多讨论

什么是迭代,或者你已经联想到了递归,想深入了解「递归」和「迭代」有哪些区别?

参考:点我

鸣谢

感谢大家观看

BY : 程荣强