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对象是否可用的最正确方法分析
Oct 03 Javascript
详细讲解JS节点知识
Jan 31 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
Nov 16 Javascript
详解wow.js中各种特效对应的类名
Sep 13 Javascript
对node.js中render和send的用法详解
May 14 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
vue多页面项目中路由使用history模式的方法
Sep 23 Javascript
JS中循环遍历数组的四种方式总结
Jan 23 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
分享PHP入门的学习方法
2007/01/02 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
JavaScript的public、private和privileged模式
2009/12/28 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
angular分页指令操作
2017/01/09 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python自动格式化json文件的方法
2015/03/11 Python
总结Python编程中函数的使用要点
2016/03/20 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
简单了解Python3里的一些新特性
2019/07/13 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Python通过字典映射函数实现switch
2020/11/06 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
德国自行车商店:Tretwerk
2019/06/21 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
毕业生找工作的求职信范文
2013/12/24 职场文书
工作评语大全
2014/04/26 职场文书
电气自动化求职信
2014/06/24 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
机关职员工作检讨书
2014/10/23 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
入团申请书格式
2019/06/20 职场文书
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js