函数写法 : 箭头函数+解构表达式

发布时间 2023-12-13 00:19:23作者: 逆水涵(寒)

        // 1. 函数参数的默认值

        // 原方式
        function add(a, b) {
            b = b || 1;
            return a + b;
        }

        //只传一个参数 函数里面设置了 b为 空的情况 值为1
        console.log(add(10)); // 11

        // 新写法 , 在参数中给定一个默认值
        function add2(a, b = 1) {
            return a + b;
        }

        console.log(add2(20)); // 21
        console.log(add2(10, 11))//21

        //不定参数
        function fun(...values) {
            console.log(values);
        }

        fun(1, 2); // [1,2]
        fun(1, 2, 3, 4) // [1,2,3,4]

        // 箭头函数
        // 原写法
        var print = function (obj) {
            console.log(obj);
        }

        print("我是原方式");

        // 我是箭头函数书写方式
        // 只传一个参数的写法
        var print2 = obj2 => console.log(obj2);
        print2("我新方式是只传一个参数的箭头函数...");

        // 多个参数的写法 原方式

        var sum = function (a, b) {
            return a + b;
        }

        console.log(sum(1, 2)); // 3


        // 我是新式玩法

        var sum2 = (a, b) => a + b;
        console.log(sum2(1, 3));//4

        // 带有方法体的书写方式
        var sum3 = (a, b) => {
            c = a + b;
            return a + c;

        }

        console.log(sum3(1, 2));//4


        // 对象解构
        const person = {
            name: "zhangsan",
            age: 20,
            language: ['java', 'js', 'css']
        }

        // 原写法
        function per(person) {
            console.log("我是原写法 : " + person.name);
        }

        per(person);

        // 新写法

        var per2 = (obj) => { console.log("我是新写法 : " + person.name) }
        var per3 = (obj) => console.log("我是新写法 : " + person.name)
        per2(person);
        per3(person);

        // 箭头函数 + 解构表达式写法
        // 表示解构对象里面变量名是name 的属性值
        var per4 = ({ name }) => console.log("我是箭头函数+解构表达式 : " + name)
        per4(person);