ES6基础语法(八) —— 函数扩展

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q95548854/article/details/79085506

八、函数扩展

1. 形参设置默认值
    function sum(num1 = 20, num2 = 10) {
        console.log(num1 + num2);
    }
    sum(10, 30); // 40
    sum(); // 30

2. 参数形式--延展操作符
    // es5中解决不定数量的参数(但参数全在arguments里,如果传入多个类型的参数时,用的时候需要具体区分)
    function sum() {
        let result = 0;
        for(let value of arguments){
            result += value;
        }
        return result;
    }

    // es6 中
    function sum(name, sex, ...nums) {
        let result = 0;
        console.log(name);
        console.log(sex);
        for(let value of nums){
            result += value;
        }
        return result;
    }
    console.log(sum('张胜男', '男', 10, 20, 30, 50));

3. 箭头函数
    // 形式: () => {}
    // let sum = (num1, num2)=>{ return num1 + num2;};
    // console.log(sum(100, 300));

    let nameArr = ['张三', '李四', '王五'];
    nameArr.forEach((value, index)=>{
        console.log(index + ':' + value);
    });

    //解决this指向问题
    function demo() {
        setTimeout(function () {
            console.log(this); // 指向window
        }, 1000);

        setTimeout(()=>{
            console.log(this); // 指向window 和 obj
        }, 1000);
    }

    let obj = {};
    demo.call(obj);

猜你喜欢

转载自blog.csdn.net/q95548854/article/details/79085506
今日推荐