js如何判断一个对象为空
2017-05-24 14:07
176 查看
转自这里:https://leonax.net/p/7058/check-if-object-is-null-in-javascript/
最近写代码的时候碰到这个问题,需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:
至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码:
尽管 Javascript 没有原生提供 isEmpty() 方法,但它提供了迭代器,可以用来遍历所有的键值对。于是 jQuery 所做的事情,就是尝试遍历,如果有任何一个键值对,即说明对象非空,直接返回 false。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。这是一个非常巧妙的实现。
注:有网友指出 ES5 中提供了
Object.getOwnPropertyNames 方法来获取所有的元素键。它的返回值是一个数组,当数组长度为零时,说明对象为空
最近写代码的时候碰到这个问题,需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:
1 2 3 4 5 | if (isEmptyObject(obj)) { // obj is empty } else { // not empty } |
1 2 3 4 5 6 | function isEmptyObject(obj) { for (var key in obj) { return false; } return true; } |
注:有网友指出 ES5 中提供了
Object.getOwnPropertyNames 方法来获取所有的元素键。它的返回值是一个数组,当数组长度为零时,说明对象为空
相关文章推荐
- js如何判断一个对象{}是否为空对象,没有任何属性
- js如何判断一个对象是不是Array?
- 如何判断一个js对象是否一个DOM对象
- jquery和js如何判断一个对象是否存在
- js如何判断一个对象{}是否为空对象,没有任何属性
- 如何判断一个js对象是否一个DOM对象
- js如何判断一个对象是array ,instanceof 是基于什么实现的呢?
- 如何判断出一个js对象是否一个dom对象
- 如何用js判断document里的一个对象是否存在?或是是否有效
- js如何判断一个对象{}是否为空对象,没有任何属性
- js如何判断一个对象是不是Array
- js如何判断一个对象是不是Array?
- js中,如何判断一个json对象是否为空
- js 如何判断一个对象是不是数组
- js如何判断一个对象{}是否为空对象,没有任何属性
- 如何判断一个JS对象是DOM对象
- js如何判断一个对象是不是Array?
- js如何判断一个对象是不是Array?
- Js中如何判断一个对象为数组类型
- js如何判断一个对象是不是Array?