变量中可以保存的数据:
5种基本数据(栈内存):number、null、undfined、boolean、string(原始数据不能改变),
特点:1.变量赋值,只能实现“深复制”,2.内部存储值不可赋值
一种引用数据(堆内存):对象(函数、数组、时间、标签等)(对象里面的值可以改变),
特点:1.变量赋值,只能实现“浅复制”,2.内部存储值可以通过属性访问、方法调用改变内部存储值
例:
引用数据类型:
定义:一个大型的复杂的基本数据和引用数据的“集合体”
数组Array:可以保存任何类型的数据
例:arr=[1,2,3,6];
取值:arr[下标]
对象Object:可以保存任何类型的数据
例:obj={age:20,er:90,name:"karen"};
取值:obj["age"]
简便写法:obj["name"]<==>obj.name
函数:可以保存数据,也可以调用代码块(typeof检测函数的结果是"function",因为函数很特殊)
例:1.var a=function(){代码块};//定义一个函数
2.function fn(){代码块};//声明一个函数
注:函数不会自己运行大括号中的代码
运行代码:a(); //函数的调用
fn(); //函数的调用