何为对象?

119 阅读1分钟

1.对象作用

一个变量存储多个数据, 阅读性高

2.对象语法

    2.1 声明对象语法
        let 对象名 = {
                 属性名: 属性值,
                 方法名: 函数
                 }
    2.2 对象取值: 
       点语法: 对象名.属性名 ;字符串语法:  对象名['属性名']
        (1)如果属性名存在,则是获取属性值
        (2)如果属性名不存在,则是获取undefined
    2.3 对象赋值: 对象名.属性名 = 值 
        (1)如果属性名存在,则是 ‘修改’ 属性值
        (2)如果属性名不存在,则是 ‘新增’ 属性

3.对象遍历

   3.1数组遍历固定for循环 :  for(let i = 0;i<arr.length;i++){  arr[i] }  
   3.2对象遍历for-in循环  :   for(let key in 对象名){  对象名[key] }
        ◆注意点:对象的遍历只能使用字符串语法取值

4.环境对象this

谁调用这个函数,this就指向谁

     //1.对象声明
       let person = {
            name: '前端小白兔',
            age: 18,
            gender: '女',
            hobby: ['学习', '敲代码', '拧魔方'],
            sayHi: function () {
                console.log(this)//Object
                document.write(`大家好,我的名字叫:${this.name}`)
            }
        }

        //2.调用对象方法
        person.sayHi()
        //3.修改对象的属性值
        person.age = 20
        //4.获取对象的属性值
        person.name
        //5.新增对象的属性
        person.job = 'Engineer'

        //6.对象的循环,for-in
        for (let key in person) {
            console.log(key) //key是变量,存储属性名字符串  'name'  'age' 'gender' 'hobby','sayHi'
            console.log(person.key) //undefined
            console.log(person['key']) //undefined
            console.log(person[key]) // 正确语法
        }

5.对象与数组的异同点

     相同点: 都是引用类型,都可以存储多个数据
     不同点: 存储方式不同
              数组: 有序存储 (下标从0开始递增)
              对象:  无序存储 (属性名和属性值一一对应:键值对)