谈谈对象和数据类型

124 阅读2分钟

1.什么是对象(当然不是你的那个对象 偷笑偷笑)

简单的来说就是多个复杂数据的集合

1.1语法

a.字面量
var obj = { 内部储存的数据  键值对 name : 444 , day : "好的"
}
b.内置构造函数
var obj1 = new Object(内部储存的数据)  

注意点:多个键值对用逗号隔开 键值对命名的时可以使用数字 特殊符号_ $ 这些是可以的
但是特殊符号@ # 不可以直接使用 要用"@" 就可以
列子:var a = {
"@" : 234 ,
# : 234 //不可以
}

1.2 对象的操作(增删改查)

   点语法
   var a = { 
   b : 234,
   c : "非常好" ,
   neme : 345 }
   查: console.log(a.b)
   改: a.b = "enen"
   console.log(a.b)
   增: a.day = 10
   console.log(a)
   删: delete a.b
   console.log(a)
   中括号语法(数组语法)
     var a = { 
   b : 234,
   c : "非常好" ,
   neme : 345 }
   查:console.log(a[b])
   改:a.b = 100
   console.log(a)
   增:a.week = 678
   console.log(a)
   删:delete a.b
   console.log(a)
   

3.两种操作方法

   var a = {
   124:234,
   "#":"##",
   $ : "$$$",
   "@" : "@@@" }
   console.log(a.124)//报错
    console.log(a.#)//报错
    console.log(a."@")//报错
    点语法上面都不支持(数字 # @ )
    console.log(a[124]) //234
     console.log(a[@]) //@@@
     console.log(a.[#])  //##
     中括号法支持

4.遍历对象

       var a = { 
   b : 234,
   c : "非常好" ,
   neme : 345 }
   for (var key in a) {
   console.log(key)   !!
   }
   打印对象a前面的值 (b c neme)
    console.log(key,a[key])   //key 和值一起打印
   }
   

5.认识数组

    语法 
    a. 字面量
    var a = [数据组 什么数据都可以]
    b.内置构造函数
    var b = new Array () //空数据
    var b = new Array (5) //长度为5   5个空的值
    var b = new Array (2, 3) 正常显示 2个数据组
    
     length 代表数组里面有多少项 例如我上面那个b2项
     
     数组的索引值(下标)     从0开始
    var a = [1, 2, 3, 4, 5, 6]
    console.log(a[0]) //下标  0 1 2 3 4 5
    console.log(a.length-1)//最后一项 5
    

6.数据类型之间的区别

存储的区别

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

赋值的区别

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

比较的区别

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

传参的区别

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