一、实例(实例对象)类型(类型对象)

1
2
3
4
5
function Person(name, age){ //构造函数 类型
this.name = name;
this.age = age;
}
var p = new Person(); //根据类型创建的实例对象

二、undefined与null的区别

undefined代表定义了未赋值

1
2
3
4
var a;
console.log(a) //undefined
a = null
console.log(a) //null

null代表定义了并赋值了,只是值为null

三、什么时候给变量赋值为null呢?

初始赋值,表明将要赋值为对象。

结束时,让对象成为垃圾对象((被垃圾回收器回收))

1
2
3
4
5
var b = null  //初始赋值为null,表明将要赋值为对象
b = ['atfg', 12] //确定对象就赋值
b = null //最后 让b指向的对象成为垃圾对象(被垃圾回收器回收)

// b = 2 //不能这么做

四、严格区分变量类型与数据类型

数据的类型

  • 基本类型
  • 对象类型

变量的类型(变量内存值的类型)

  • 基本类型:保存的基本类型数据
  • 引用类型:保存的是一个地址值
1
var c = {} //c保存的就是这个空对象的地址值

五、什么是数据

  • 存储在内存中代表特定信息的“东西”,本质上是0101…(二进制)
  • 数据的特点:可传递,可运算
  • 一切皆数据
  • 内存中所有操作的目标:数据(算术运算,逻辑运算,赋值,运行函数)

六、什么是内存

内存条通电后产生的可存储数据的控件(临时的)

内存产生和死亡:内存条(电路板)=》通电=》产生内存空间=》存储数据-》处理数据-》断电=》内存和存储空间都消失

一块小内存的两个数据:内部存储的数据和地址值

内存对象

栈:全局变量/局部变量 标识对象的变量在栈里

堆:对象

七、什么是变量

可变化的量。由变量名和变量值组成

每个变量都对应一块小内存,变量名用来查找对应的内存,变量值就是内存中保存的数据

八、内存,数据,变量三者之间的关系

内存是用来存储数据的控件(临时空间)

变量是内存的标识