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])
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)
var b = new Array (2, 3) 正常显示 2个数据组
length 代表数组里面有多少项 例如我上面那个b有2项
数组的索引值(下标) 从0开始
var a = [1, 2, 3, 4, 5, 6]
console.log(a[0])
console.log(a.length-1)
6.数据类型之间的区别
存储的区别
1. 基本数据类型: 存储在栈内存中, 变量内部就是实际的值
2. 引用数据类型: 变量存储在栈内存中, 变量内部存储的是 指向 堆内存 的 地址(对象实际的值, 存储在 堆内存中)
赋值的区别
1. 基本数据类型: 是 值的 传递
可以理解为, 将我自身的值 复制一份 给到另一个变量, 后续修改另一个变量时 与我自身没有任何关系
2. 引用数据类型: 是 地址 的传递
可以理解为, 将自身的 地址 复制一份 给到另一个变量, 后续修改互相会有影响
比较的区别
1. 基本数据类型
比较时, 是拿变量实际的值, 去做对比
2. 引用数据类型
比较时, 是拿引用地址做对比, 判断是不是执行一个地址
传参的区别
1. 基本数据类型
是 值 的传递, 将自身的值 复制一份 传递给函数的形参
2. 引用数据类型
是 地址 的传递, 将自身的地址 复制一份 传递给函数的形参