js判断空对象的实例(超简单)


Posted in Javascript onJuly 26, 2016

最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下。

判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码:

js判断空对象的实例(超简单)

如上代码可以发现,无论是通过对象字面量方式创建的空对象还是通过Object构造函数创建的空对象,彼此之间都是不相等的。

1.将对象转换为字符串进行比较

这种方法很不推荐,但也确实是最容易想到的,主要使用JSON.stringify()这个方法对对象进行强转,贴出来仅供一看: 

var a={};
 var b=new Object();
 console.log("对象字面量的比较结果:"+(JSON.stringify(a)=="{}"))
 console.log("构造函数的比较结果:"+(JSON.stringify(b)=="{}"))

我们可以得到两种空对象转换为字符串后的比较都为真,可以解决这个问题,但是不推荐,下面说第二种方法。

2.for in循环

使用for in循环可以遍历所有属性以次判断对象是否为空对象:

var a={};
var b=new Object();
function isEmptyObject(obj){

   for(var key in obj){
     return false
   };
   return true
};
if(isEmptyObject(a)){
   alert("a是个空对象")
}
if(isEmptyObject(b)){
   alert("b是个空对象")
}

使用for in循环对对象进行循环时循环属性,相应的对数组进行循环时循环的是下标,如:

var b = ["hello","my","world"]
for(var index in b){
   console.log(b[index]);
}
//hello my world

以上就是小编为大家带来的(标题)全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
利用jQuery实现可输入搜索文字的下拉框
Oct 23 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
js限制checkbox选中个数以限制六个为例
Jul 15 Javascript
对JavaScript客户端应用编程的一些建议
Jun 24 Javascript
javascript瀑布流式图片懒加载实例
Jun 28 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
JS访问DOM节点方法详解
Nov 29 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
全面了解构造函数继承关键apply call
Jul 26 #Javascript
JS面试题---关于算法台阶的问题
Jul 26 #Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 #Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 #Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 #Javascript
EasyUI加载完Html内容样式渲染完成后显示
Jul 25 #Javascript
前端微信支付js代码
Jul 25 #Javascript
You might like
使用PHP求两个文件的相对路径
2013/06/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
js里的prototype使用示例
2010/11/19 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
python中pickle模块浅析
2020/12/29 Python
给老婆大人的检讨书
2014/02/24 职场文书
农村婚礼主持词
2014/03/13 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
应聘教师自荐书
2014/06/16 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
一年级小学生评语大全
2014/12/25 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
2015年教师国培感言
2015/08/01 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书