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对象为null或者属性为空
首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typeof,都返回"undefined". null表示一个空对象指针,typeof操作会返回"object". 一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值. var bj; alert(bj); //"undefined" bj = null; alert(typeof bj); //&
-
JS判断对象是否存在的10种方法总结
Javascript语言的设计不够严谨,很多地方一不小心就会出错.举例来说,请考虑以下情况.现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: 复制代码 代码如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易.但是实际上,它涉及的语法问题,远比我们想象的复杂.Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法.只有对Javascript语言的实现细节非常清楚,才可
-
js中判断对象是否为空的三种实现方法
在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种: 1.if (typeOf(x) == "undefined") 2.if (typeOf(x) != "object") 3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! java里面!x为true的时候x肯定为false了,但是这里
-
Javascript中判断对象是否为空
发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素.Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair).检查一个对象是否为空,等价于检查对象中有没有键值对.写成代码,形如: if (isEmptyObject(obj)) { // obj is empty } else { // not empty } 至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码: function i
-
JavaScript 判断一个对象{}是否为空对象的简单方法
做项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断可以,上代码: 1. 代码1: var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);} else { console.log(3);} 结果为:3 2. 代码2: var b = {}; if(b == {}){ console.log(4);} if(b == '{}') { console.log(5);} if(typeof(b) ==
-
js判断空对象的实例(超简单)
最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下. 判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码: 如上代码可以发现,无论是通过对象字面量方式创建的空对象还是通过Object构造函数创建的空对象,彼此之间都是不相等的. 1.将对象转换为字符串进行比较 这种方法很不推荐,但也确实是最容易想到的,主要使用JSON.stringify()这个方法对对象进行强转,贴出来仅供一看: var a={}; va
-
JS判断空对象的几个方法大盘点
目录 知识准备 Object.keys Object.getOwnPropertyNames 可枚举属性 hasOwnProperty 盘点判空方法 JSON.stringify判空 for in判空 Object.getOwnPropertyNames判空 Object.keys()判空 hasOwnProperty判空 附将对象转换为字符串进行比较 总结 知识准备 在盘点JS判空方法之前我们先来了解下面的三个方法. Object.keys Object.keys()方法是以对象为参数,返回一
-
js判断传入时间和当前时间大小实例(超简单)
实例如下: //判断时间是否过期 function judgeTime(time){ var strtime = time.replace("/-/g", "/");//时间转换 //时间 var date1=new Date(strtime); //现在时间 var date2=new Date(); //判断时间是否过期 return date1<date2?true:false; } 以上这篇js判断传入时间和当前时间大小实例(超简单)就是小编分享给大家
-
JS动态给对象添加事件的简单方法
WEB项目中,我们常常会碰到要动态对相应的对象添加事件,如下,有id="txtPrice"的文本框控件: <div> <input type="text" id="txtPrice" name = "txtPrice" value = "0"/> <div> 现在我们为其动态添加一事件,JS核心代码如下: document.getElementById("txt
-
jquery根据name取得select选中的值实例(超简单)
实例如下所示: <select name="region[province]" id="" class="region valid"> <option value="0" selected="selected" tier="1">省.直辖市</option> <option tier="1" value="2&quo
-
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
以前只知道在返回data区域赋给html控件值,后来发现,原来直接定义变量就行了. 复制代码 代码如下: var csj_data; $.ajax ({ cache: false, async: false, type: 'post', data: { aaa: "1" }, url: "../handle/Ladder_Fee_Code.ashx?ajaxac
-
超简单JS二级、多级联动的简单实例
超简单的JS联动代码,不过要配合jquery用,也可以自己修改为不用任选JS库的代码 复制代码 代码如下: <tr> <th>一级分类</th><td> <select name="subsidiary_cat_id" class="subsidiary_cat_id" onchange="linkage('.subsidiary_cat_id','.cat_id');">
-
JS实现超简单的汉字转拼音功能示例
本文实例讲述了JS实现超简单的汉字转拼音功能.分享给大家供大家参考,具体如下: /** * 中文字符串转化为拼音 * alert(convertToPinyinLower("你好啊")); */ function hash(_key,_value) { this.key = _key; // 拼音*/ this.value = _value; // ascii码*/ } // javascript 的自定义对象,用于存放汉字拼音数据字典*/ function dictionary()
-
JS实现超简单的鼠标拖动效果
本文实例讲述了JS实现超简单的鼠标拖动效果.分享给大家供大家参考,具体如下: 这里使用尽可能短的JavaScript代码写一个JS拖动,函数本身287个字符...如果不是考虑兼容性和变量封装,还可以更短点. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-s-drug-demo/ 具体代码如下: <title>尽可能短的写一个JS拖动</title> <body> <div id="demo&quo
-
js弹出窗口返回值的简单实例
a.html: <form name="form1" method="post" action=""> <a href="javascript:void(null)" class="add" onClick="open('b.html','','resizable=1,scrollbars=1,status=no,toolbar=no,menu=no,width=500,heig
随机推荐
- Ajax异步请求JSon数据(图文详解)
- SQL2008 附加数据库提示 5120错误 解决办法
- mongodb中随机获取1条记录的实现方法
- PHP has encountered an Access Violation at XXXXXX 的解决方法
- 提升网络效率 宽带路由优化与使用技巧
- Nginx反向代理websocket配置实例
- PHP return语句的另一个作用
- js 页面元素的几个用法总结
- MySQL表字段设置默认值(图文教程及注意细节)
- Java压缩/解压文件的实现代码
- Android 音乐播放器的开发实例详解
- mysql配置模板(my-*.cnf)参数详细说明
- IE10中flexigrid无法显示数据的解决方法
- DIV随滚动条滚动而滚动的实现代码【推荐】
- JavaScript中的Math.sin()方法使用详解
- PHP4实际应用经验篇(7)
- 解决网卡设置一例:确认网络速率的匹配
- Android布局自定义Shap圆形ImageView可以单独设置背景与图片
- MyBatis查询缓存实例详解
- PHP生成唯一订单号