JS/Jquery判断对象为空的方法


Posted in Javascript onJune 11, 2015

发现了一个巧妙的实现: 需要检查一个对象(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。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。

function isNullObj(obj){
  for(var i in obj){
    if(obj.hasOwnProperty(i)){
      return false;
    }
  }
  return true;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 Javascript
通过url查找a元素并点击
Apr 09 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
angular中不同的组件间传值与通信的方法
Nov 04 Javascript
JS实现百度搜索接口及链接功能实例代码
Feb 02 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
Vue全局分页组件的实现代码
Aug 10 Javascript
mock.js模拟数据实现前后端分离
Jul 24 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 #Javascript
无刷新上传文件并返回自定义值
Jun 11 #Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 #Javascript
JS制作手机端自适应缩放显示
Jun 11 #Javascript
实现placeholder效果的方案汇总
Jun 11 #Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 #Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 #Javascript
You might like
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
python运行其他程序的实现方法
2017/07/14 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
公司市场部岗位职责
2013/12/02 职场文书
煤矿安全承诺书
2014/05/22 职场文书
生产车间标语
2014/06/11 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
开会迟到检讨书范文
2015/05/06 职场文书