1. 分类
* 基本(值)类型
*String: 任意字符串
*Number: 任意的数字
*boolean: true/false
*undefined: undefined
*null: null
* 对象(引用)类型
*Object: 任意对象
*Function: 一种特别的对象(可以执行)
*Array: 一种特别的对象(数值下标, 内部数据是有序的)
2. 判断
*typeof:
*可以判断: undefined/ 数值 / 字符串 / 布尔值 / function
*不能判断: null与object object与array
*instanceof:
*判断对象的具体类型
*===
*可以判断: undefined, null
-->
3:练习
1. undefined与null的区别?
*undefined代表定义未赋值
*nulll定义并赋值了, 只是值为null
2. 什么时候给变量赋值为null呢?
* 初始赋值, 表明将要赋值为对象
* 结束前, 让对象成为垃圾对象(被垃圾回收器回收)
3. 严格区别变量类型与数据类型?
* 数据的类型
*基本类型
*对象类型
* 变量的类型(变量内存值的类型)
*基本类型: 保存就是基本类型的数据
* 引用类型: 保存的是地
4:
1. 什么是数据?
* 存储在内存中代表特定信息的'东东', 本质上是0101...
* 数据的特点: 可传递, 可运算
* 一切皆数据
* 内存中所有操作的目标: 数据
*算术运算
*逻辑运算
*赋值
*运行函数
2. 什么是内存?
* 内存条通电后产生的可储存数据的空间(临时的)
* 内存产生和死亡: 内存条(电路版)==>通电==>产生内存空间==>存储数据==>处理数据==>断电==>内存空间和数据都消失
* 一块小内存的2个数据
* 内部存储的数据
* 地址值
* 内存分类
*栈: 全局变量/局部变量
*堆: 对象
3. 什么是变量?
* 可变化的量, 由变量名和变量值组成
* 每个变量都对应的一块小内存,变量名用来查找对应的内存, 变量值就是内存中保存的数据
4. 内存,数据, 变量三者之间的关系
* 内存用来存储数据的空间
* 变量是内存的标识
5.var a={age:18}
function fun(obj) {
obj={age:12}
}
fun(a);
console.log(a.age);//18
6:问题: 在js调用函数时传递变量参数时,是值传递还是引用传递
* 理解1: 都是值(基本/地址值)传递
* 理解2: 可能是值传递, 也可能是引用传递(地址值)