• 0135 函数的返回值:return 语句、终止函数 、只能返回一个值、没有 return 返回 undefined、break &continue&return 的区别


    2.4.1 return 语句

    只要函数遇到return,就把return后面的结果 返回给函数的调用者,函数名() = return后面的结果

    返回值:函数调用整体代表的数据;函数执行完成后可以通过return语句将指定数据返回 。
    只要函数遇到return,就把return后面的结果 返回给函数的调用者,函数名() = return后面的结果。
    
    // 声明函数
    function 函数名(){
        ...
        return  需要返回的值;
    }
    // 调用函数
    函数名();    // 此时,调用函数就可以得到函数体内  **return 后面的值**
    
            // demo:利用函数,求两个数的最大值
            function getMax(num1, num2) {
                // if (num1 > num2) {
                //     return num1;
                // } else {
                //     return num2;
                // }
                return num1 > num2 ? num1 : num2;
            }
            console.log(getMax(1, 3));
            console.log(getMax(11, 3));
    
            // demo:利用函数求数组 [5,2,99,101,67,77] 中的最大数值。
            function getArrMax(arr) { // arr 接受一个数组  arr =  [5,2,99,101,67,77]
                var max = arr[0];
                for (var i = 1; i <= arr.length; i++) {
                    if (arr[i] > max) {
                        max = arr[i];
                    }
                }
                return max;
            }
            // getArrMax([5, 2, 99, 101, 67, 77]); // 实参是一个数组送过去
            // 在我们实际开发里面,我们经常用一个变量来接受 函数的返回结果 使用更简单
            // var re = getArrMax([5, 2, 99, 101, 67, 77]);
            var re = getArrMax([3, 77, 44, 99, 143]);
            console.log(re);
    
    
            另一种写法
            function getMax(arr) {
                var temp;
                for (var i = 0; i < arr.length; i++) {
                    if (arr[i] > arr[i + 1]) {
                        temp = arr[i];
                    }
                }
                return temp;
            }
    
            console.log(getMax([5, 2, 99, 101, 67, 77]));
    

    2.4.2 return 终止函数

    return 语句之后的代码不被执行。

        function add(num1, num2) { //函数体 
            return num1 + num2; // 注意:return 后的代码不执行 
            alert('我不会被执行,因为前面有 return');
        }
        var resNum = add(21, 6); // 调用函数,传入两个实参,并通过 resNum 接收函数返回值 
        alert(resNum); // 27
    

    2.4.3 return 只能返回一个值

    return 只能返回一个值。 如果用逗号隔开多个值, 以最后一个为准。

        return 只能返回一个值。 如果用逗号隔开多个值, 以最后一个为准。
        function add(num1, num2) {
            //函数体
            return num1, num2;
        }
        var resNum = add(21, 6); // 调用函数,传入两个实参,并通过 resNum 接收函数返回值
        alert(resNum); // 6
    

    2.4.4 函数没有 return 返回 undefined

    函数都是有返回值的

    1、如果有return ,则返回 return 后面的值

    2、如果没有return, 则返回 undefined


    2.4.5 break 、continue 、return 的区别

    • break :结束当前的循环体(如 for、while)
    • continue :跳出本次循环,继续执行下次循环(如 for、while)
    • return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码 【return可以用于循环、函数。】
            // 函数返回值注意事项
            // 1. return 终止函数
            function getSum(num1, num2) {
                return num1 + num2; // return 后面的代码不会被执行
                alert('我是不会被执行的哦!')
            }
            console.log(getSum(1, 2));
    
    
            // 2. return 只能返回一个值
            function fn(num1, num2) {
                return num1, num2; // 返回的结果是最后一个值
            }
            console.log(fn(1, 2));
    
    
            // 3.  我们求任意两个数的 加减乘数结果
            function getResult(num1, num2) {
                return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
            }
            var re = getResult(1, 2); // 返回的是一个数组
            console.log(re);
    
    
            // 4. 我们的函数如果有return 则返回的是 return 后面的值,如果函数么有 return 则返回undefined
            function fun1() {
                return 666;
            }
            console.log(fun1()); // 返回 666
    
            function fun2() {
    
            }
            console.log(fun2()); // 函数返回的结果是 undefined
    


        // 补充:经测试,return只能用于函数中嵌套循环语句的代码,不能单独用于没有函数包裹的循环语句中,否则报错
        function fn() {
            for(let i=0;i<6;i++) {
                if(i == 3) {
                    return;
                    // break
                }
                console.log(i)  // 0  1  2
            }
        }
        fn()
    
    
  • 相关阅读:
    edgedb 内部pg 数据存储的探索 (四) 源码编译
    edgedb 内部pg 数据存储的探索 (二) 创建数据库命令说明
    edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
    python 集成cython && push 测试pip 仓库
    python 集成cython 简单测试
    click python cli 开发包
    转载一篇阿里云Terraform 开发指南
    zabbix 4.2 支持 timescledb 了
    edgedb 内部pg 数据存储的探索 (一)基本环境搭建
    Podman and Buildah for Docker users
  • 原文地址:https://www.cnblogs.com/jianjie/p/12149950.html
Copyright © 2020-2023  润新知