37个JavaScript基本面试问题和解答
发布日期:2021-07-01 00:43:50
浏览次数:2
分类:技术文章
本文共 577 字,大约阅读时间需要 1 分钟。
1、使用typeof bar ===“object”来确定bar是否是一个对象时有什么潜在的缺陷?这个陷阱如何避免?
尽管typeof bar ===“object”是检查bar是否是对象的可靠方法,但JavaScript中令人惊讶的问题null也被认为是一个对象!
因此,对于大多数开发人员来说,下面的代码会将true(而不是false)打印到控制台:
var bar = null;console.log(typeof bar === "object"); // logs true!
只要知道这一点,就可以通过检查bar是否为空来轻松避免该问题:
console.log((bar !== null) && (typeof bar === "object")); // logs false
为了让我们的答案更加的完整,还有两件事值得注意: 首先,如果bar是一个函数,上面的解决方案将返回false。在大多数情况下,这是所期望的行为,但是在您希望函数返回true的情况下,您可以将上述解决方案修改为:
console.log((bar !== null) && ((typeof bar === "object") || (typeof bar === "function")));
其次,如果bar是数组,则上述解决方案将返回true(例如,如
转载地址:https://m528964214.blog.csdn.net/article/details/82947715 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月09日 06时46分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HTTP认证方式
2019-05-01
图书商城:分类模块
2019-05-01
图书商城:订单模块
2019-05-01
开源全能播放器Vitamio的使用
2019-05-01
使用ViewPager加载页面出现空白
2019-05-01
ImageView scaleType
2019-05-01
RecyclerView notifyItem闪屏问题
2019-05-01
dubbo学习笔记 十二 dubbo-cluster
2019-05-01
dubbo学习笔记 十三 dubbo-filter
2019-05-01
dubbo学习笔记 十一 dubbo-rpc之模块
2019-05-01
motan学习笔记 五 opentracing学习入门
2019-05-01
爬取博客园博客
2019-05-01
什么是Docker?
2019-05-01
一个基于百度云和图灵的人工智能程序
2019-05-01
用两个栈实现队列
2019-05-01
求列表最长子序列
2019-05-01
字符串的排序
2019-05-01
内存分配(mallloc,calloc,realloc,new)
2019-05-01