javascript里变量的解构赋值

	//一.变量的解构赋值-快速的给变量赋值
    //1.数组的解构赋值。
    // let arr = ['zhangsna', 'lisi', 'wangwu'];
    // let [a, b, c] = arr;
    // console.log(a, b, c);//zhangsna lisi wangwu

    // let [a, b, [c, d, [e, f, g]]] = [1, 2, [3, 4, [5, 6, 7]]];
    // console.log(a, b, c, d, e, f, g);//1 2 3 4 5 6 7

    // let [a, b, c, d] = [1, 2, 3];
    // console.log(a, b, c, d);//1 2 3 undefined ,加入实参多于形参那就无影响

    // let [a, b, c, d] = [1, 2, 3, 4, 5];
    // console.log(a, b, c, d);//1 2 3 4 5  后面的实参多了对结果没影响,只取前面4个

    // const fn = function(arr) {
    //     arr.sort(function(a, b) {
    //         return a - b;//做从小打大排序,返回值给fn函数
    //     });
    //     return [arr[0], arr[arr.length - 1], arr.length];
    // }

    // // console.log(fn([12, 3, 455, 67, 8, 9, 1]));
    // let [min, max, len] = fn([12, 3, 455, 67, 8, 9, 1]);

    // console.log(min, max, len); //1 455 7

    //2.对象的结构赋值,地址不会赋过去
    //对象是无序的。

    // var obj = {
    //     a: 1,
    //     b: 2,
    //     c: 3
    // };

    // var {
    //     a,
    //     b,
    //     c
    // } = obj;
    // console.log(a, b, c); //1 2 3

    //修改变量的名称
    var {
        name1: xingming, //得到值的是xingming,name1没有值
        age,
        sex
    } = {
        name1: 'zhangsan',
        age: 100,
        sex: '男'
    };
    console.log(xingming, age, sex); //zhangsan 100 男

    var {
        name1: xingming, //如果属性名有属性值的变量,那么后面的值应该是给属性值变量,而不是属性名,但如果属性名是全局变量的话,那后面写哪个都可以,因为全局变量里有属性值的名称
        age,
        sex
    } = {
        name1: 'zhangsan',
        age: 100,
        sex: '男'
    };
    console.log(name1, age, sex); //undefined 100 "男"

    var {
        name1, //没写属性值的变量名称,那么值就给属性名就行
        age,
        sex
    } = {
        name1: 'zhangsan',
        age: 100,
        sex: '男'
    };
    console.log(name1, age, sex); //zhangsan 100 男


    // var obj = {
    //     name: 'zhangsan',
    //     age: 100,
    //     sex: '男'
    // };

    // var {
    //     age
    // } = obj;

    // console.log(age); //可以就取obj内的其中一个属性值,值会一一对应,与顺序无关,只看名称是不是对应

个人见解,如有遗漏,概不负责QAQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值