Javascript中判断对象是否为空
发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:
if (isEmptyObject(obj)) { // obj is empty } else { // not empty }
至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码:
function isEmptyObject(obj) { for (var key in obj) { return false; } return true; }
尽管 Javascript 没有原生提供 isEmpty() 方法,但它提供了迭代器,可以用来遍历所有的键值对。于是 jQuery 所做的事情,就是尝试遍历,如果有任何一个键值对,即说明对象非空,直接返回 false。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。这是一个非常巧妙的实现。
注:有网友指出 ES5 中提供了 Object.getOwnPropertyNames方法来获取所有的元素键。它的返回值是一个数组,当数组长度为零时,说明对象为空。
相关推荐
-
js中判断对象是否为空的三种实现方法
在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种: 1.if (typeOf(x) == "undefined") 2.if (typeOf(x) != "object") 3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! java里面!x为true的时候x肯定为false了,但是这里
-
js判断空对象的实例(超简单)
最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下. 判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空时就是大锅饭,大家都相等,如下代码: 如上代码可以发现,无论是通过对象字面量方式创建的空对象还是通过Object构造函数创建的空对象,彼此之间都是不相等的. 1.将对象转换为字符串进行比较 这种方法很不推荐,但也确实是最容易想到的,主要使用JSON.stringify()这个方法对对象进行强转,贴出来仅供一看: var a={}; va
-
简单方法判断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语言的实现细节非常清楚,才可
-
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) ==
-
Javascript中判断对象是否为空
发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素.Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair).检查一个对象是否为空,等价于检查对象中有没有键值对.写成代码,形如: if (isEmptyObject(obj)) { // obj is empty } else { // not empty } 至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码: function i
-
Java中判断对象是否为空的方法的详解
首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.util包下的.这两种StringUtils工具类判断对象是否为空是有差距的: StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型 StringUtils.isEmpt
-
JavaScript中判断对象类型的几种方法总结
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type
-
Vue中如何判断对象是否为空
目录 Vue判断对象是否为空 方法一 方法二 Vue判断对象为空|cannot read property ‘xx‘ of undefined 结构体如下 解决方法 v-for中的key理解 Vue判断对象是否为空 方法一 将对象转JSON,如果为空集合{} ,那么就是空对象 JSON.stringify(object)=='{}' 方法二 判断对象的长度,如果为零,那就是空对象 Object.keys(object).length==0 Vue判断对象为空|cannot read proper
-
javascript中的对象创建 实例附注释
javascript中的对象创建声明: var obj = {}; 或者 var obj = new Object(); 为对象加入属性,方法: //=====第一种写法==================================== obj.name = '小明'; //为对象加属性 obj.updateName = function(name){//为对象定义updateName方法 this.name = name; } alert(obj.name); obj.updateNam
-
javascript中判断json的方法总结
简单地说, JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串(伪对象) ,然后就可以在函数之间轻松地传递这个字符串,或者 在异步应用程序中将字符串从 Web 客户端传递给服务器端程序 .这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/ 值对更复杂的结构.例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表. 判断json是否为空 复制代码 代码如下: var jsonStr ={}; 1.判
-
JavaScript中判断整数的多种方法总结
之前记录过JavaScript中判断为数字类型的多种方式,这篇看看如何判断为整数类型(Integer). JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的double类型一样.但实际操作中比如数组索引.位操作则是基于32位整数. 方式一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. 复制代码 代码如下: function isInteger(obj) { return obj%1 === 0 } isIn
-
JavaScript中判断为整数的多种方式及保留两位小数的方法
一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. function isInteger(obj) { return obj%1 === 0 } isInteger(3) // true isInteger(3.3) // false 以上输出可以看出这个函数挺好用,但对于字符串和某些特殊值显得力不从心 isInteger('') // true isInteger('3') // true isInteger(true) // true isInteger
-
原生javascript中检查对象是否为空示例实现
目录 什么是原生 JavaScript A.在较新的浏览器中检查空对象 通过检查 constructor 解决误报 对其他值进行空检查 B.旧版本浏览器中的空对象检查 使用 JavaScript 检查空对象 其它类型的构造函数也能正常判断 使用外部库检查空对象 原生 VS 库 下面的代码片段,用于检查对象是否为空. 对于较新的浏览器,你可以使用 ES6 的 "Object.keys".对于较旧的浏览器,可以安装Lodash库并使用其" isEmpty"方法. con
随机推荐
- 九、处理Cookie
- 堵住黑客非法入侵的11点原则
- Python代码的打包与发布详解
- 让任务管理器中的CPU跳舞的js代码
- JavaScript常用正则函数用法示例
- 纯JSP+DWR实现三级联动下拉选择菜单实现技巧
- 如何用C语言生成简单格式的xml
- Yii2 如何在modules中添加验证码的方法
- IBM X346 板载 Raid1 功能启用及Win2003系统安装小记
- 通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
- MongoDB快速入门笔记(六)之MongoDB的文档修改操作
- mysql 关键词相关度排序方法详细示例分析
- 浅析Android中常见三种弹框在项目中的应用
- win2003禁止web等目录执行exe,bat,com的方法
- Java中if...else语句使用的学习教程
- asp.net 页面间传值方法小结
- Devexpress treelist 简介
- FreeBSD5.4Release X Windows 安装笔记 (Freebsd5.4R+Gnome2.10.0)
- 使用IntelliJ IDEA 进行代码对比的方法(两种方法)
- Vue2.0系列之过滤器的使用