typeof只能检测基本数据类型,不能检测对象数据类型;
要想区别对象、数组、函数单纯使用 typeof 是不行的,javascript中,通过Object.prototype.toString方法,判断某个对象值属于哪种内置类型。
var arr = []; alert(Object.prototype.toString.call(arr)) //返回值:[object Array] var obj = {}; alert(Object.prototype.toString.call(obj)) //返回值:[object Object] var a = 123; alert(Object.prototype.toString.call(a)) //返回值:[object Number]