判断类型

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]
 
原文地址:https://www.cnblogs.com/ey-151210/p/5089687.html