js中判断是否对象的方法
目前据我所知的方法共有三种
1. typeof
1 | let obj ={a:1,b=2,c:3} |
从判断结果上来看,似乎并没有太大的问题,但如果你把对象改为数组,他返回的也会是同样的结果,因此不推荐这种写法,
对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串,
null也会返回’object’
对NaN返回是’number’
感兴趣的小伙伴可以自己动手实现一下
2. instanceof Object
1 | let obj ={a:1,b=2,c:3} |
这种方法返回的是boolean类型,基本可以实现我们想要的结果,不仅这样,它还可以判断是否为数组,讲到这里,还有种判断数组的方法,我也想分享给大家
Array.isArray(arr) 返回类型也是boolean类型
3. Object.prototype.toString.call()
1 | let obj ={a:1,b=2,c:3} |
这种方法可以更为严格的判断对象是什么类型,我更比较喜欢这一种,当然,如果你还有其他的方法,欢迎在评论区指出哦
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 爱搞怪的小_马!
评论