美文网首页js从0开始学习
js - 08 JS对象数据类型的基本结构及操作

js - 08 JS对象数据类型的基本结构及操作

作者: 大怪兽迪迦 | 来源:发表于2019-11-04 16:32 被阅读0次

    对象数据类型

    普通对象

    {[key] : [value], ……} 任何一个对象都是由0到多组键值对(属性名:属性值)组成的(并且属性名不能重复)


    let person = {
        name : 'xxx',
        age : 11,
        height : '11cm',
        weight : '11kg',
        1 : 11
    };
    
    console.log(person.name);           // => xxx
    console.log(person['age']);         // => 11
    console.log(person.sex);            // => undefined
    console.log(person[1]);             // => 11
    console.log(person.1);              // => 报错,SyntaxError语法错误
    
    • 获取属性名对应的属性值
    • 对象.属性名
    • 对象.[属性名]
    • 如果当前属性名不存在,默认的属性值是undefined
    • 如果属性名是数字,则能使用‘对象.属性名’的方式来获取属性值
    设置属性名属性值
    let a = {
        a : '1',
        b : '2'
    };
    a.c = '3';
    a.a = '4';
    console.log(a.c)                // => 3
    console.log(a.a)                // => 4
    
    • 属性名不能重复,如果已经存在不属于新增,属于修改属性值
    删除属性
    • 彻底删除
      将属性彻底删除
    let a = {
        a = '1',
        b = '2',
        c = '3'
    }
    delete a[b]
    console.log(a)              // => a: '1', c: '3'
    
    • 假删除
      属性还在,值为空
    let a = {
        a = '1',
        b = '2',
        c = '3'
    }
    a.c = null/undefined 
    console.log(a)              // => a: '1', b: '2', c: null/undefined
    

    特殊对象

    数组
    数组为一个特殊的对象
    原因:
    1.在中括号中写设置的属性值(属性名为默认生成的数字。 从0开始,逐级递增。且这个数字代表的每一项位置,称其为‘索引’ => 从0开始,逐级连续递增,代表每一项位置的数字属性名。)
    2.生成自带属性length,生成且储存数组的长度

    let ary = [12, xxx, true, 13]
    console.log(ary)        // => 0:12, 1:xxx, 2:true, 3:13, length: 4
    //第一项索引为0, 最后一项索引为length - 1;
    向数组末尾添加
    ary[ary.length] = 14
    console.log(ary)        // => 0:12, 1:xxx, 2:true, 3:13, 4:14, length: 5
    

    相关文章

      网友评论

        本文标题:js - 08 JS对象数据类型的基本结构及操作

        本文链接:https://www.haomeiwen.com/subject/tcpdbctx.html