一、检测基本数据类型
五种基本数据类型:undefined、null、number、string、boolean。
typeof操作符是最佳检测基本数据类型的工具,除了null例外,null通过typeof检测,返回值是object,这部分可以理解null是“空对象”(个人理解)。
var a = undefined; var b = null; var c = 123; var d = "music"; var e = true; console.log(typeof a); //undefined console.log(typeof b); //object console.log(typeof c); //number console.log(typeof d); //string console.log(typeof e); //boolean
二、检测引用类型
ECMAScript提供了instanceof操作符。
语法:result = 变量 instanceof 构造函数
console.log(person instanceof Object); console.log(colors instanceof Array); console.log(pattern instanceof RegExp); console.log(null instanceof Object) //false
上面三个需要初始化定义再检测。
三、准确检测数组类型
ECMAScript 5 新增了Array.isArray()方法。这个方法的目的是最终确定某个值到底是不是数组,而不管它是在哪个全局执行环境中创建的。
支持Array.isArray()方法的浏览器有IE9+、Firefox 4+、Safari 5+、Opera 10.5+和Chrome。
未完待续。。。
参考资料
《javascript高级程序设计(第3版)》第4章 变量、作用域和内存问题