JavaScript的对象,速览!

153 阅读2分钟

一、什么是对象?

就是一个数据的集合(复杂数据)

二、JS 的数据类型?

1、 基本数据    
2、 复杂数据

对象属于复杂数据类型(引用数据类型)
说起来是复杂数据,但也不复杂
引用数据类型:   object  function  array

Eg:    
    var obj = {
        // 内部存放键值对   (还有人叫 key/value;   属性名: 属性值)
        name: 'QF', // 逗号间隔
        age: 18 // 冒号左边: 健;    冒号右边: 值;
    }

Tip:
    {}   对象内部存储的是:数据
    if () { 分支语句的代码 }
    for () { 循环体 }
    function () { 函数体 }
    { 数据(内部的数据大部分为 基本数据类型) }

三、创建对象的方式

1、 字面量的形式
    var obj = {
        name: 'QF',
        age: 18
    }
    console.log(obj)

2、 通过内置构造函数
    var obj1 = new Object() // 创建一个空对象
    console.log(obj1)

四、key是在冒号左边还是右边?

左边

key的命名:
    1、推荐使用 符合变量命名规范和规则的
    2、可以使用数字作为 key
    3、可以使用特殊符号
         
Eg:
     var obj = {
        name: '小葵',
        bigBox: 'KKKK',
        496: '520496',
        '@': '特殊符号1',
        '#': '特殊符号2'
    }
    console.log(obj)

五、对象的增删改查

Eg:
    var obj = {
        name: '小葵'
        }
    console.log(obj)
1、 点语法
    1.1 增加 (对象.新key = 值)
    obj.age = 18    // 向对象 obj 中,新增一个 key --> age,对应的值为18
    console.log(obj)

    1.2 删除 (delete obj.key)
    delete obj.name
    console.log(obj)

    1.3 修改 (对象.key = 新值)
    obj.name = 'QF666'
    console.log(obj)

    1.4 查 (对象.key)
    console.log(obj.name)
2、 中括号语法(数组语法)
    2.1 增加 (对象['新key'] = 值)
    obj['age'] = 18
    console.log(obj)

    2.2 删除 delete 对象['key']
    delete obj['name']
    console.log(obj)

    2.3 修改 (对象['key'] = 新值)
    obj['name'] = 'QF999'
    console.log(obj)

    2.4 查 (对象['key'])
    console.log(obj['name'])
    3、对象的操作方式分为  23.1 点语法
        3.2 数组方法(中括号)

        3.3 如何选择两种方式?
            ① 对象 的 key 符合命名规范的时候 都可以
            ② 出现纯数字 为 key 或者 特殊符号 @#   我们需要使用 中括号语法
            ③ 当出现变量的时候(想用变量作为 key) 也需要使用 中括号语法

        Eg:
            var obj = {
                123: '112233',
                '@': '我是特殊符号@'
            }
            console.log(obj)

        3.4 点语法 有问题
            console.log(obj.123)    // 语法不支持
            console.log(obj.'@')    // 语法不支持  

        3.5 使用中括号语法
            console.log(obj[123])   // 112233 可以使用
            console.log(obj['@'])   // 我是特殊符号@ 可以使用

六、遍历对象

Egvar obj = {
        name: '小葵',
        H: 496,
        X: 520,
        N: 594
    }

    for...in 循环
    for (var key in obj) {
        console.log(key)    // 每一轮循环拿到的都是对象的 key

        console.log(key, obj[key])
    }