1、在js中使用typeof来判断类型非常简单但其实还是存在判断失误问题的比如下面
var obj={}; var arry=[]; console.log(typeof obj=== "object")//true console.log(typeof arry=== "object")//true console.log(typeof null=== "object")//true
这就很明显了可以通过Object.prototype.toString.call(bar) === "[object Object]" 来避免这种弊端:
var obj={}; var arry=[]; console.log(Object.prototype.toString.call(obj)) //[object Object] console.log(Object.prototype.toString.call(arry)) //[object Array] console.log(Object.prototype.toString.call(null)) //[object Null]
在jquery里面有更加方便的$.type();
var obj={}; var arry=[]; console.log($.type(arry)) //array console.log($.type(obj)) //object console.log($.type(null)) //null