基本数据
var a=20
var b=a
动态运行流程==>第一步 先声明一个变量叫b,第二步先取a变量中保存的值 再把a赋值给b 在重新赋值
引用数据
var a=[10,20,30]
var b=a
console.log(a)
console.log(b)
第一步 先声明一个变量叫b,第二步 把变量a对应的引用数据(数组)的内存空间让b变量也去引用
声明b=a后 他们使用的是同一个数组空间 所以改变b数组 a数组也变了
b[1]=200
console.log(b[1])
console.log(a[1])//200
console.log(b)
b把下标1的元素改成200 a中下标1也变成200
数组:数组就是引用数据类型的
数组中可以保存很多数据 每一个数据的类型是不限定的
var arr=[10,20,30,500,200,"hello",null,true,undefined]
var n1=arr[3]
n1=arr[3]//意为取数组arr中下标为3的元素赋值给n1 下标从0开始排序0123...
console.log(n1)
对象object 跟数组一样用来保存数字 只不过每一个数组都自己设置下标
var obj1={name:"karen",age:24}
console.log(obj1)
console.log(obj1["name"])//对象自定义下标 这里为"name"
obj1["age"]=25 修改对象中的属性
obj3["age"]=25 若obj3对象中没有age成员 此代码就会添加age成员并复制25
加引号与不加引号的区别:
不加引号表示引用已经声明的变量中的值作为成员名
var obj={}
var name="first"
obj[name]="karen"
obj["name"]="karen"
console.log(obj)
对象的成员有一种简便写法点语法
obj["name"] === obj.name
var obj4=[]
obj4.name="jack"
console.log(obj4)