03 函数之默认值、剩余参数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        //1.带参数默认值的函数

        //es5的写法
        function add(a,b) {
            a = a||10;
            b = b||20;
            return a+b;
        }
        add();//上面默认a = 10,b = 20

        //es6的写法
        function add(a = 10,b = 20) {
            return a + b;
        }
        add();

        //2.默认的表达式也可以是一个函数
        function add(a,b = getVal(5)) {
            return a+b;
        }

        function getVal(val) {
            return val + 5;
        }
        add(10);//10赋值给a  b为默认的值

        //es6 剩余参数 三个点加具名参数组成
        function pick(obj,...keys) {
            console.log(keys);// ["year", "author"]
            let result = Object.create(null);
            for(let i = 0;i < keys.length;i++){
                result[keys[i]] = obj[keys[i]];
            }
            return result;
        }

        let book = {
            title:'es6的教程',
            autor:'walter',
            year:2019
        }
        let bookData = pick(book,'year','author');
        console.log(bookData)

    </script>
</body>
</html>
posted @ 2020-12-28 17:01  *!Walter!*  阅读(60)  评论(0编辑  收藏  举报