JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,是否存在,或者是什么类型的。
1.typeof
typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
它的返回值是一个字符串,表示运算数的类型。返回值有6种:
1. 'undefined' --- 这个值未定义;
2. 'boolean' --- 这个值是布尔值;
3. 'string' --- 这个值是字符串;
4. 'number' --- 这个值是数值;
5. 'object' --- 这个值是对象或null;
6. 'function' --- 这个值是函数。
if(typeof a == 'string'){ ... } if(typeof(90) == 'number'){ ... }
括号可以省略
注:使用typeof的一个不好的地方就是它会把Array还有用户自定义函数都返回为object。
2.instanceof
instanceof 用于判断一个变量是否某个对象的实例,返回值是布尔类型。
a instanceof b?alert("true"):alert("false");//a是不是b的实例