js 参数默认值与解构 ES6

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>参数默认值与解构</title>
</head>
<body>
<!-- <script type="text/javascript">
    //函数形参使用数组解构,预期实参是一个数组,否则报错
    // function f1([m,n,i]){
    //     console.log(m,n,i);
    // }
    // f1([3,4,5]);
    // f1(); //报错

    //设置默认值 对整个解构数组 设置默认值
    // function f1([m,n,i]=[]){
    //     console.log(m,n,i);
    // }
    // f1();
    // f1([3,4,5]);
    // 设置默认值 对整个解构数组中的每一个变量,单独设置默认值
    function f2([m,n,i]=[1,2,3]){
        console.log(m,n,i);
    }
    f2();
    f2([3,4,5]);

    //将默认值放在解构数组中
    // function f3([m=1,n=2,i=3]=[]){
    //     console.log(m,n,i);
    // }
    // f3();
    // f3([3,4,5]); //[m=1,n=2,i=3]=[3,4,5]

</script> -->
<script type="text/javascript">
    //函数参数默认值与对象解构
    // var {age,sex,say} = {"age":30, "sex":"男", "say":function(){return "hello";}};
    // var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
    // var {age,sex,say} = obj;

    //1.函数参数使用对象解构
    // function f1({age,sex,say}){
    //     console.log(age, sex, say);
    // }
    // var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
    // f1(obj);

    //2.设置默认值 整体默认为{}
    // function f2({age,sex,say}={}){
    //     console.log(age, sex, say);
    // }
    // var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
    // f2(obj);
    // f2();

    //3.设置默认值 整体默认一个对象
    // function f3({age,sex,say}={"age":20,"sex":"男"}){
    //     console.log(age, sex, say);
    // }
    // var obj = {"age":30, "sex":"男", "say":function(){return "hello";}};
    // f3(obj);
    // f3();

    //4.设置默认值 整体默认为{}  给每个变量单独设置默认值
    function f4({age=30,sex="",say}={}){
        console.log(age, sex, say);
    }
    var obj = {"age":30, "sex":"", "say":function(){return "hello";}};
    f4(obj);
    f4();
</script>
</body>
</html>

 

posted @ 2021-02-25 13:04  华北业余选手  阅读(246)  评论(0)    收藏  举报