use*_*716 41
这应该为你做:
if( Object.prototype.toString.call( someObject ) === '[object Object]' ) {
// do your iteration
}
Run Code Online (Sandbox Code Playgroud)
从ECMAScript的5 8.6.2节,如果你有兴趣:
[[Class]]内部属性的值由此规范为每种内置对象定义.主机对象的[[Class]]内部属性的值可以是除"Arguments","Array","Boolean","Date","Error","Function","JSON"之一之外的任何String值. ,"数学","数字","对象","RegExp"和"字符串".内部使用[[Class]]内部属性的值来区分不同类型的对象.请注意,除了通过Object.prototype.toString之外,此规范不提供程序访问该值的任何方法(参见15.2.4.2).
你也可以这样做:
if (someObject.constructor == Object) {
// do your thing
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多相关信息