JavaScript -- typeof 判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。
对于数组、函数、对象,使用 typeof 都会统一返回 “object” 字符串。
要判断复合数据类型,可以如下判断:
var a = {}; 对象 var b = []; 数组 var c = function () {}; 函数
//对象 (a instanceof Object) && !(a instanceof Function) && !(a instanceof Function) //数组 (a instanceof Object) && (a instanceof Array) //函数 (a instanceof Object) && (a instanceof Function)
更简便的方式,即是使用 Object.prototype.toString.call() 来确定类型
console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call(‘123‘)) //[object String]
(undefined)) //[object Undefined]
(true)) //[object Boolean]
({})) //[object Object]
([])) //[object Array]
(function(){})) //[object Function]
原文:http://www.cnblogs.com/ey-151210/p/5089687.html