- 类型
1.原始(值)类型
- Undefined
- Null
- Boolean
- String
- Number
2.对象(引用)类型
- Object:var obj={};var arr=[]; var date=new Date();
3.原始类型和对象类型的区别
- 原始类型值存储在栈内存
- 栈内存存储的是对象类型的地址
- 对象类型值存储在堆内存
- 访问
- 复制
- 隐式的类型转换
- 显式的类型转换
- 类型识别
- typeof
- instanceof
- Object.prototype.toString.call
- constructor
说明:1.typeof是一个操作符而不是一个方法 typeof "a" ;typeof("a");
2.typeof可以识别标准类型(Null除外)
3.typeof不能识别具体的对象类型(Function除外)
4.instanceof能够判别内置对象类型,不能判别原始类型
5.instanceof能够判别自定义类型对象
6.Object.prototype.toString.call可以识别标准类型以及内置(build-in)对象类型
7.Object.prototype.toString.call 不能识别自定义类型
8.constructor可以判别标准类型(Undefined/Null除外)
9.constructor可以判别内置对象类型、自定义对象类型