要检测一个变量的类型,咱们能够经过typeof 运算符来判别。诸如:正则表达式
- var box = 'Lee';
- alert(typeof box); //string
虽然typeof 运算符在检查基本数据类型的时候很是好用,但检测引用类型的时候,它就
不是那么好用了。一般,咱们并不想知道它是否是对象,而是想知道它究竟是什么类型的对
象。由于数组也是object,null 也是Object 等等。
这时咱们应该采用instanceof 运算符来查看。数组
- var box = [1,2,3];
- alert(box instanceof Array); //是不是数组
- var box2 = {};
- alert(box2 instanceof Object); //是不是对象
- var box3 = /g/;
- alert(box3 instanceof RegExp); //是不是正则表达式
- var box4 = new String('Lee');
- alert(box4 instanceof String); //是不是字符串对象
PS:当使用instanceof 检查基本类型的值时,它会返回false。ide