检测JavaScript变量类型
typeof操作符
要检测一个变量是不是基本数据类型,typeof操作符时最佳的工具。
typeof操作符时确定一个变量是字符串、数值、布尔值,还是undefined的最佳工具。
如果变量的值是一个对象或者null,则typeof操作符都会返回Object。
instanceof操作符
在检测引用类型的值时,可以使用instanceof操作符。
result = variable instanceof constructor
如果变量是给定类型的实例,那么instanceof操作符就会返回true。
person instanceof Object
colors instanceof Array
pattern instanceof RegExp
根据规定,所有引用类型的值都是Object的实例。因此,在检测一个引用类型值和Object构造函数时,instanceof操作符始终会返回true。当然如果使用instanceof操作符检测基本类型的值,则该操作符始终会返回false,因为基本类型不是对象。