Javascript中判断对象是否为空
更新时间:2015年06月10日 09:12:55 投稿:junjie
这篇文章主要介绍了Javascript中判断对象是否为空,本文利用Javascript 中的对象就是一个字典的特性,检查对象中有没有键值对实现判断对象是否为空,需要的朋友可以参考下
发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:
if (isEmptyObject(obj)) {
// obj is empty
} else {
// not empty
}
至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码:
function isEmptyObject(obj) {
for (var key in obj) {
return false;
}
return true;
}
尽管 Javascript 没有原生提供 isEmpty() 方法,但它提供了迭代器,可以用来遍历所有的键值对。于是 jQuery 所做的事情,就是尝试遍历,如果有任何一个键值对,即说明对象非空,直接返回 false。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。这是一个非常巧妙的实现。
注:有网友指出 ES5 中提供了 Object.getOwnPropertyNames 方法来获取所有的元素键。它的返回值是一个数组,当数组长度为零时,说明对象为空。
相关文章
js模拟微博发布消息
本文主要介绍了js模拟微博发布消息的实例,具有很好的参考价值,下面跟着小编一起来看下吧
2017-02-02
灵活使用数组制作图片切换js实现
这篇文章主要介绍了灵活使用数组制作图片切换效果,js实现图片切换特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2016-07-07
微信小程序实现水平垂直滚动
这篇文章主要为大家详细介绍了微信小程序实现水平垂直滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2021-03-03
js实现音频控制进度条功能
本文主要介绍了js实现音频控制进度条功能的示例代码。具有很好的参考价值。下面跟着小编一起来看下吧
2017-04-04
js判断游览器类型及版本号的代码
今天分析一下, 终于找到原因. 旧版本的js文件写的浏览器判断有异常, 所以导致插入点一直在头部. 今天修复之
2014-05-05
JavaScript三大变量声明详析
这篇文章主要介绍了JavaScript三大变量声明详析,三大变量声明主要包括var、const和let,下面文章我们就围绕三者展开详细内容介绍,需要的朋友可以参考一下
2022-06-06
最新评论