js中判断数据类型一般用typeof,instanceof ,Array.isArray()等,各有利弊,今天偶然看到另外一种判断方法:
Object.prototype.toString.call().slice(8,-1)
Object.prototype.toString.call([1,2,3]).slice(8,-1) //Array
Object.prototype.toString.call({a:1}).slice(8,-1) //Object
Object.prototype.toString.call('a').slice(8,-1) //String
Object.prototype.toString.call(function(){}).slice(8,-1) //Function
...
个人觉得此方法甚是好用