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 相关文章推荐
用jquery来定位
Feb 20 Javascript
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
Jan 15 Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
Oct 17 Javascript
jquery点击改变class并toggle的实现代码
May 15 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
详解plotly.js 绘图库入门使用教程
Feb 23 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
Javascript confirm多种使用方法解析
Sep 25 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
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
事件绑定之小测试  onclick && addEventListener
2011/07/31 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
Webpack实战加载SVG的方法
2017/12/26 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
python使用knn实现特征向量分类
2018/12/26 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python中pdb模块实例用法
2021/01/15 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
夜大自我鉴定
2013/10/31 职场文书
机械系大学毕业生推荐信
2013/11/27 职场文书
《尊严》教学反思
2014/02/11 职场文书
会计岗位职责模板
2014/03/12 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
党员民主评议总结
2014/10/20 职场文书
综合实践活动报告
2015/02/05 职场文书
浅析Python实现DFA算法
2021/06/26 Python