引用类型与基本类型的主要区别
- 引用类型存放在
堆
中
// 存放在堆中的最大特点就是 复制的变量A1会随着被复制变量A的改变而改变 即A与A1指向的是同一个地址
var object1 = new Object();
var object2 = object1;
- 基本类型存放在
栈
中
// 存放在栈中最大的特点就是 复制的变量A1是重新新建一个 A1与A指向的是不同的地址
var p = 1;
var p1 = p;
- 基本类型没有
属性
和方法
引用类型主要有那些
-
Object
万物皆为此类型,是使用最为光放的类型 -
Array
数组类型用于对最基本的数据结构数组进行操作 -
Function
每个函数都是Function类型的实例 -
Date
用于对日期进行创建和操作 -
RegExp
正则表达式 -
基本包装类型 特殊的引用类型
有三个 Boolean、Number 和 String。 -
单体内置对象
- Global对象: 是一个兜底对象,当一个属性或者方法找不到所属的对象的时候,就属于Global对象
- Math对象:数学计算对象
基本类型主要有那些 即简单的数据类型
-
undefined
undefined 只有一个值 就是 undefined ,出现在 声明了变量但是未对其进行初始化的时候 -
Null
Null 只有一个值 就是null 表示一个空指针对象 -
Boolean
有两个字面值 true和false , true 不一定为1 false也不一定为0
小技巧 !:代表了对当前值取非即布林表达式
!!:代表了如果明确设置了变量的值(非undefined|null|0|" "等),则会取变量的值,否则即为false
-
Number
有三种值:整数、浮点、NaN(Not a Number) NaN表示一个操作本来要返回数值,但却没有返回数值的情况,NaN与的任何操作都是NaN,NaN是独一无二的,NaN与任何NaN都不相等 -
String
由0个或多个16位unicode字符串组成的字符序列
这是个特殊的类型,将在下一个博文中详述