JS/Jquery判断对象为空的方法
作者:bea
发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如: if (isEmptyObject(obj)) { // obj is empty} else { // not empty} 至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码
发现了一个巧妙的实现: 需要检查一个对象(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。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。
function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
猜你喜欢
您可能感兴趣的文章:
- JavaScript中用toString()方法返回时间为字符串
- ECMAScript6中Map/WeakMap详解
- JavaScript中Date.toSource()方法的使用教程
- ECMAScript6中Set/WeakSet详解
- JavaScript中的toLocaleDateString()方法使用简介
- ECMAScript6块级作用域及新变量声明(let)
- JavaScript中的toDateString()方法使用详解
- ECMAScript6新增值比较函数Object.is
- ECMAScript6函数剩余参数(Rest Parameters)
- ECMAScript6函数默认参数
- 在JavaScript中操作时间之setYear()方法的使用
- 简介JavaScript中setUTCSeconds()方法的使用
- JS中产生标识符方式的演变
- JS中处理时间之setUTCMinutes()方法的使用
- JavaScript中setUTCMilliseconds()方法的使用详解
- JavaScript中setUTCFullYear()方法的使用简介
- 禁止按回车键提交表单的方法
- JavaScript中的setUTCDate()方法使用详解
- 简介JavaScript中的setTime()方法的使用