js对象\创建对象\1.点语法 2.数组方法[中括号]\对象对于key的要求\对象的操作\遍历函数\数据类型之间的区别

62 阅读3分钟

1.什么是对象 /** * 什么是对象: * 就是一个数据的集合(复杂数据) * js 的数据类型(1.基本数据 2.复杂数据) * 对象属于复杂数据类型(引用数据类型) * 引用数据类型:object/function/array * / var obj = { //内部存放键值对(还有人叫key/value或属性名:属性值) name:'QF',//逗号间隔 age: 18//冒号左边是键 冒号右边是值 } //{}对象内部存储的 数据(内部的数据大部分为基本数据类型) / * if(){ * 分支语句的代码 * } * * * for(){ * 循环体 * } * * function(){ * 函数体} * / 2.两种操作方式的区别: / * 对象操作方式分为两种 * 1.点语法 * 2.数组方法[中括号] * * 如何选择两种方式 * 1.对象的key符合命名规范的时候都可以 * 2.出现纯数字为key或者特殊符号 我们需要使用中括号语法 * 3.当出现变量的时候,也需要使用中括号语法 * / 3.对象对于key的要求: /* * 对象对于key的要求
* 1.推荐使用 符合变量命名规范和规则的 * 2.可以使用数字作为key * 3.可以使用特殊符号 / 4.对象的操作: /* * 对象的操作:(增删改查) * 1.点语法 * 2.中括号语法(数组语法) * / // var obj = { // name: 'qw', // } // console.log(obj); // //1.点语法 // //1.1查 (语法:对象.key) // console.log(obj.name); // //1.2修改(语法:对象.key = 新值) // obj.name = '12345' // console.log(obj); // //1.3增加(对象.新key = 值) // obj.age = 18//向对象obj中新增一个key ------>age 对于值为18 // console.log(obj); // //1.4删除(语法:delete obj.key) // delete obj.name // console.log(obj); var obj = { name: 'qw', } //2.中括号语法(数组语法) //2.1 查(语法:(对象['key'])) console.log(obj['name']); //2.2修改(对象['key'] = '新值') obj['name'] = 'QF9999' console.log(obj); //2.3 增加(对象['新key'] = '新值') obj['age'] = 18 console.log(obj); //2.4删除(delete 对象['key']) delete obj['name'] console.log(obj); 5.创建对象: /* * 创建对象: * 1.字面量形式 * * **/
// 1.字面量形式 var obj = { name : 'QF' , age : 12 } console.log(obj);

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

6.遍历函数 /** * 遍历对象 * 就是拿到对象所有的键值对 * **/

     var obj = {
        name:'QF',
        a : 'aaa',
        b :'11111',
        c :'33333'
     }
     //for......in循环
     for(var key in obj){
       // console.log(key);//每一轮循环拿到的都是对象的key
       console.log(key,obj[key]);
     }

7.数据类型之间的区别: /** * * 面试必问~~~~请熟读并背诵全文 * * 数据类型之间的区别 ### 存储的区别 1. 基本数据类型: 存储在栈内存中, 变量内部就是实际的值 2. 引用数据类型: 变量存储在栈内存中, 变量内部存储的是 指向 堆内存 的 地址(对象实际的值, 存储在 堆内存中)

        赋值的区别
            1. 基本数据类型: 是 值的 传递
                    可以理解为, 将我自身的值 复制一份 给到另一个变量, 后续修改另一个变量时 与我自身没有任何关系
            2. 引用数据类型: 是 地址 的传递
                    可以理解为, 将自身的 地址 复制一份 给到另一个变量, 后续修改互相会有影响

        ### 比较的区别
            1. 基本数据类型
                比较时, 是拿变量实际的值, 去做对比
            2. 引用数据类型
                比较时, 是拿引用地址做对比, 判断是不是执行一个地址

        ### 传参的区别
            1. 基本数据类型
                是 值 的传递, 将自身的值 复制一份 传递给函数的形参
            2. 引用数据类型
                是 地址 的传递, 将自身的地址 复制一份 传递给函数的形参

        1. 基本数据类型
        2. 复杂数据类型 (function; object; array)