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 学习笔记(五)
Dec 31 Javascript
JavaScript中Function详解
Feb 27 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
Sep 23 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
Mar 18 Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
JQuery实现图片轮播效果
May 08 jQuery
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
JS中Promise函数then的奥秘探究
Jul 30 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
Aug 27 Javascript
node实现socket链接与GPRS进行通信的方法
May 20 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
PHP中include()与require()的区别说明
2010/03/10 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python基础之函数用法实例详解
2014/09/10 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
python决策树之C4.5算法详解
2017/12/20 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
Django模板语言 Tags使用详解
2019/09/09 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
为什么python比较流行
2020/06/19 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
介绍一下sql server的安全性
2014/08/10 面试题
干部培训自我鉴定
2014/01/22 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
2015初中团委工作总结
2015/07/28 职场文书
2016党校培训心得体会
2016/01/07 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
python爬虫--selenium模块
2021/03/31 Python
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
Android自定义双向滑动控件
2022/04/19 Java/Android
Golang 遍历二叉树
2022/04/19 Golang