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 相关文章推荐
浅谈JavaScript中面向对象技术的模拟
Sep 25 Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
JS动态修改iframe内嵌网页地址的方法
Apr 01 Javascript
简介JavaScript中valueOf()方法的使用
Jun 05 Javascript
深入理解JavaScript程序中内存泄漏
Mar 17 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
Jun 12 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
Jun 17 Javascript
JS去掉字符串中所有的逗号
Oct 18 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
全面了解构造函数继承关键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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
菜鸟修复电子管记
2021/03/02 无线电
php 301转向实现代码
2008/09/18 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
Opacity.js
2007/01/22 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
pandas to_excel 添加颜色操作
2020/07/14 Python
实例代码讲解Python 线程池
2020/08/24 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
自荐书4要点
2014/01/25 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
单身申明具结书
2015/02/26 职场文书
质量承诺书格式范文
2015/04/28 职场文书
心术观后感
2015/06/11 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android