return的用法是什么?

大家好,我是IT修真院的学员,一枚正直纯洁善良的web前端程序员。

今天给大家带来的是return的用法是什么?


1.背景介绍

return

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

2.知识剖析

返回值是必须有的,作用就是把固定不变的。常用的代码封装起来 写在类里 每次用到的时候就调用就行了 如果需要这个共能返回一个值, 甚至一个对象 就需要用返回值了就是用return来把把值返回给调用的者return 语句会终止函数的执行并返回函数的值。
                
                    比如:
                    function a(){
                    return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
                    document.write(50);//由于上面已经return了,这条代码不会执行
                    }
                
                
至于什么时候会用到,那看你要函数来做什么,你要他返回值就返回咯,不要他返回就不返回咯! 比如,用函数来做一个加法运算,需要他返回值,那就这样
                
                    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是没有值的;
                
                
也可以说默认函数是没有返回值的。 通常函数经过一系列处理后需要给外部返回一个值或者对象

                比如function sum(a,b){return a+b};
                alert(sum(1,2))==>3
                        
如果没有return将会弹出undefined

3.常见问题

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

4.解决方案

                
                    function counter() {
                    for (var count = 1;  count++) {  // infinite loop
                    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
                
                

5.编码实战

                
                    function abc(a,b) {
                    var c = a + b;
                    return c;
                    }
                    var d=abc(5,9);
                    alert(d);===>14;
                
            

6.扩展思考

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

就是break 跟 continue ;

break

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

continue

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

[dié dài]

迭代

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

函数

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

7.参考文献

参考:峰峰师兄

参考:冲冲老师

《Javascript DOM 编程艺术》

8.更多讨论

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

参考:我是冲冲,我为疑难杂症代言!点我


问题:

1: 函数必须有return吗?

答:不是,需要返回值的时候就用不需要的时候可以不用

2:return和break的区别是什么?

答:点击打开链接

3: return返回的数据类型取决于什么

答:函数

4: js 中,不使用数组,不使用对象,可以 return 多组值吗?

答:不行,遇到第一个return就退出语句不会再往下执行,会直接给一个返回值

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页