js中的typeof 只能判断5种类型:function num boolean object string ,但数组,对象,的关系特别复杂,我们如果用typeof 判断的话,只会返给我们一个object。javascript中,通过Object.prototype.toString方法,判断某个对象值属于哪种内置类型。
今天给大家分享一个判断对象的方法,这个应该是最基本的东西,但是我反查了好久才搞好,真是,基础很重要,当后台接口返给我们一个对象时,有可能是data{
key:value,
key:value
}
也有可能是data[
{key:value},
{key:value}
]
第一种是一个key,value的对象,第二个是个数组,这两种都返回为空时,我们该怎么判断呢?
object.prototype.toString.call(json.data)=={} 如果成立就是第一种,不成立就是第二种,
console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call('123')) //[object String]
console.log(Object.prototype.toString.call(undefined)) //[object Undefined]
console.log(Object.prototype.toString.call(true)) //[object Boolean]
console.log(Object.prototype.toString.call({})) //[object Object]
console.log(Object.prototype.toString.call([])) //[object Array]
console.log(Object.prototype.toString.call(function(){})) //[object Function]
js博大精深,好好学习,天天向上
网友评论