js的数组

1.什么是对象?

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

    js的数据类型     1.基本数据  2.复杂数据

    对象属于复杂数据类型(引用数据类型)

    说起来是复杂数据但也不复杂

       var obj = {

        //内部存放键值对   (还有人叫    key/value     属性名:属性值)

        name:'QF',   //逗号间隔

        age:18    //冒号左边:键;冒号右边:值;

       }

2.创建对象

        var obj = {

            name:'hh',

            age:20

        }

        console.log(obj)

        //内置构造函数

        var hh = new Object()     //创建一个空对象

        console.log(hh)

3.对象key的要求

        对象对于key的要求    冒号左边

        1.推荐使用符合变量名规范和规则

        2.可以使用数字作为key

        3.可以使用特殊符号

4.对象的增删改查

        对象的操作(增删改查)

            1.点语法

            2.中括号语法(数组语法)

        var obj = {

            name:'hh'

        }

        console.log(obj)

        //点语法

        //查(对象.key)

        console.log(obj.name)

        //修改(对象.key = 新值)

        obj .name ='gh888'

        console.log(obj)

        //增加

        obj.name = 18   //向对象 obj 中新增加一个key-->age 对应的值为18

        console.log(obj)

        //删除(delete obj.key)

        delete obj.name

        console.log(obj)

        var obj = {

            name:'hh'

        }

        //中括号语法   (数组语法)

        //查 (对象['key'])

        console.log(obj['name'])

        //修改   (对象['key'])

        obj ['name'] = 'qg999'

        console.log(obj)

        //增加   age   修改()

        obj ['age'] = 18

        console.log(obj)

        //删除   delete

        delete obj['name']

        console.log(obj)

5.两种对象的操作方式

        对象的操作方式为2种

            1.点语法

            2.数组语法

        如何选择两种方式

            1.对象的key符合命名规范的时候都可以

            2.出现纯数字为key或者特殊符号@# 我们需要使用中括号

            3.当出现变量的时候(想要用变量作为key)也需要使用中括号语法

            var obj = {

            123:'1234567',

            '@':'我是特殊符号'

            }

            console.log(obj)

       //点语法有问题

            console.log(obj.123)   //语法不支持

            console.log(obj.'@')   //语法不支持

6.遍历对象

        遍历对象

        就是拿到对象的所有的键值对

       var obj = {

        name:'hh',

        a:123,

        b:456,

        c:789

       }

       //for...in 循环

       for(var key in obj){

        //console.log(key)       //每一轮循环拿到的都是对象的key

        console.log(obj[key])    //数值

        console.log(key,obj[key])    //名字加数值

       }

7.认识数组

        认识数组

        是什么

        数组---->一组数字的集合(这样说太片面了)

                存放一些数据的集合

       var arr = [100,200,300,'a','b','c',false,true,undefined]

       console.log(arr)

8.创建数组

        创建数组

          1.字面量

          2.内置构造函数

       字面量

       var arr = [1,2,3,4,5]

       console.log(arr)

        //内置构造函数

        var arr1 = new Array()   //空数组

        console.log(arr1)

        var arr2 = new Array(5)   //创建一个长度为5的数组(虽然有长度,但实际的值为5)

        console.log(arr2)

        var arr3 = new Array(5,10)   //创建一个有内容的数组,第一个值为5,第二个值为10

        console.log(arr3)

9.数组的length

        数组的length

        代表了数组成员的数量

        var arr = [1,2,3,4,5,6,undefined]

        console.log(arr)

        var arr = [1,2,3,4,5,6,undefined]

        console.log(arr.length)   //打印成员的个数7个

10.数组的索引值

        数组的索引值(下标)

        数组的索引就代表了当前数据在数组的第几个位置(注意下标从0开始)

        var arr = [1,2,3,4,5]

        下标0  1  2  3  4  

        console.log(arr)

        //通过下标获取数组对应的成员

        console.log(arr[0])      //获取数组中的第一个成员

        console.log(arr[3])      //获取数组中的第三个成员

        console.log(arr[4])      //获取数组中的第四个成员

        console.log(arr[arr.length - 1])    //相当于arr[4]---->5

11.遍历数组

        遍历数组

        拿到数组的每一个成员

        var arr = [1,2,3,4,5]

        //下标0  1  2  3  4

        for(var i = 0;i < arr.length;i++){

            console.log(i)

            console.log(arr[i])

        }

12.数据类型之间的区别

        数据类型之间的区别

            存储的区别

                1. 基本数据类型: 存储在栈内存中, 变量内部就是实际的值

                2. 引用数据类型: 变量存储在栈内存中, 变量内部存储的是 指向 堆内存 的 地址(对象实际的值, 存储在 堆内存中)

            赋值的区别

                1. 基本数据类型: 是 值的 传递

                        可以理解为, 将我自身的值 复制一份 给到另一个变量, 后续修改另一个变量时 与我自身没有任何关系

                2. 引用数据类型: 是 地址 的传递

                        可以理解为, 将自身的 地址 复制一份 给到另一个变量, 后续修改互相会有影响

            比较的区别

                1. 基本数据类型

                    比较时, 是拿变量实际的值, 去做对比

                2. 引用数据类型

                    比较时, 是拿引用地址做对比, 判断是不是执行一个地址

            传参的区别

                1. 基本数据类型

                    是 值 的传递, 将自身的值 复制一份 传递给函数的形参

                2. 引用数据类型

                    是 地址 的传递, 将自身的地址 复制一份 传递给函数的形参

            1. 基本数据类型

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值