Object.prototype.toString.call()
在项目需求中,一些内置的类型检测也许对我们够用,整体的规范并不会造成不靠谱的结果,但是多人开发,复杂的环境,没有整体的数据规范呢?
- 在任何值上调用
Object
原生的toString()
方法,都会返回一个[Object NativeConstructorName]
- 每个类在内部都有一个
[[Class]]
属性,这个属性中就指定了上述NativeConstructorName
的构造函数名。
function isArray(val){
return Object.prototype.toString.call(val) =="[object Array]"
}
function isFunction(val){
return Object.prototype.toString.call(val) =="[object Function]"
}
它也可以检测浏览器是否支持原生JSON对象。
var NativeJSON = window.JSON&&Object.prototype.toString.call(JSON)=="[object JSON]"
网友评论