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 相关文章推荐
MSN消息提示类
Sep 05 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
js清空form表单中的内容示例
May 20 Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
Sep 13 Javascript
微信小程序webview实现长按点击识别二维码功能示例
Jan 24 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
layui实现tab的添加拒绝重复的方法
Sep 04 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 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扩展程序实现守护进程
2015/04/16 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
JS跨域总结
2012/08/30 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Python中的is和id用法分析
2015/01/26 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
入党自我鉴定范文
2013/10/04 职场文书
广告创意求职信
2014/03/17 职场文书
《风筝》教学反思
2014/04/10 职场文书
体育个人工作总结
2015/02/09 职场文书
小学见习报告
2015/06/23 职场文书
公司安全管理制度范本
2015/08/05 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers