JS类型的转换

  • 类型

1.原始(值)类型

  -  Undefined
  -  Null
  -  Boolean
  -  String
  -  Number

2.对象(引用)类型

  -  Object:var obj={};var arr=[]; var date=new Date();
JS类型的转换_第1张图片
屏幕快照 2016-08-10 下午10.14.14.png

3.原始类型和对象类型的区别

  -  原始类型值存储在栈内存
  -  栈内存存储的是对象类型的地址
  -  对象类型值存储在堆内存
  -  访问
  -  复制
JS类型的转换_第2张图片
屏幕快照 2016-08-10 下午10.25.19.png
  • 隐式的类型转换
JS类型的转换_第3张图片
屏幕快照 2016-08-10 下午10.03.47.png
  • 显式的类型转换
JS类型的转换_第4张图片
屏幕快照 2016-08-10 下午10.05.40.png
  • 类型识别
  -  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可以判别内置对象类型、自定义对象类型

JS类型的转换_第5张图片
屏幕快照 2016-08-10 下午11.20.26.png
JS类型的转换_第6张图片
屏幕快照 2016-08-10 下午11.25.22.png
JS类型的转换_第7张图片
屏幕快照 2016-08-10 下午11.13.37.png

你可能感兴趣的:(JS类型的转换)