判断对象类型 object.prototype.toString.call

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博大精深,好好学习,天天向上

你可能感兴趣的:(判断对象类型 object.prototype.toString.call)