检测一个变量是不是基本数据类型的最佳工具是typeof操作符。 typeof操作符可详细检测出基本数据类型(undefined、null、string、number、boolean),对于引用类型,它只能检测出函数(Function),不能检测出数组和对象。 特殊:typeof null //object null是一个空指针 var a = "coco"; var b = true; var c = 20; var d; var e = null; var f = new Object(); alert(typeof a); //string alert(typeof b); //number alert(typeof c); //boolean alert(typeof d); //undefined alert(typeof e); //object alert(typeof f); //object 用于检测引用类型的工具通常是–instanceof操作符。若变量是给定引用类型,则instanceof操作符就会返回true。 alert(person instanceof Object); //变量person是Object吗? alert(colors instanceof Array); //变量colors是Array吗? alert(pattern instanceof RegExp); //变量pattern是RegExp吗? 规定:所有引用类型的值都是Object的实例。因此,在检测一个引用类型值和Object构造函数时,instanceof操作符始终会返回true。若使用instanceof操作符检测基本类型的值,则该操作符始终会返回false–因基本类型不是对象。