JS/Jquery判断对象为空的方法

 发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如:

1
2
3
4
5
6

if (isEmptyObject(obj)) {
 
// obj is empty
} else {
// not empty
}

至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码:

1
2
3
4
5
6

function isEmptyObject(obj) {
for (var key in obj) {
return false;
}
return true;
}

尽管 Javascript 没有原生提供 isEmpty() 方法,但它提供了迭代器,可以用来遍历所有的键值对。于是 jQuery 所做的事情,就是尝试遍历,如果有任何一个键值对,即说明对象非空,直接返回 false。从效率上来说,由于只读取了一个元素,顶多加上一些跳出循环的开销,实际性能不会比原生方法差太多。

1
2
3
4
5
6
7
8

function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}

时间: 2024-10-28 17:23:24

JS/Jquery判断对象为空的方法的相关文章

JS/Jquery判断对象为空的方法_javascript技巧

发现了一个巧妙的实现: 需要检查一个对象(Object)是否为空,即不包含任何元素.Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair).检查一个对象是否为空,等价于检查对象中有没有键值对.写成代码,形如: if (isEmptyObject(obj)) { // obj is empty } else { // not empty } 至于 isEmptyObject 的实现,jQuery 中有一个很有想法的方式,请看代码: function i

jQuery判断对象是否存在的方法_jquery

本文实例讲述了jQuery判断对象是否存在的方法.分享给大家供大家参考.具体如下: 一.传统Javascript的写法 obj = document.getElementById("someID"); if (obj){ obj.innerText("hi"); } 在jQuery中,var obj = $("#id")无论id这个控件是否存在,都是返回object,这样可就无法使用if(obj)来判断这个控件是否存在了  二.jQuery判断对

jQuery中判断对象是否存在的方法汇总_jquery

如果是下面的 jQuery 代码判断一个对象是否存在,是不能用的. if($("#id")){ //... }else{ //... } 因为 $("#id") 不管对象是否存在都会返回 object . 正确使用判断对象是否存在应该用: if($("#id").length>0){ //... }else{ //... } 使用 jQuery 对象的属性 length 来判断,如果 > 0 就存在. 或者 if($("#i

js中判断对象是否为空的三种实现方法

 本篇文章主要是对js中判断对象是否为空的三种实现方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种:   1.if   (typeOf(x)   ==   "undefined")   2.if   (typeOf(x)   !=   "object")   3.if(!x)   其中第三种是最简单的

JS/jQuery判断DOM节点是否存在的简单方法_javascript技巧

JS原生判断DOM节点是否存在页面中 JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象.既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中 代码: Object.prototype.exist = function(){ if(typeof th

jquery判断对象是否为空并遍历对象的简单实例_jquery

javascript : if(document.getElementById("target_obj_id")){ } else { } jquery: 因为 $("#target_obj_id") 不管对象是否存在都会返回 object ,所以以上方法不行 1. var target_obj = jQuery('#target_obj_id'); if (target_obj.length > 0) { //如果大于0 标识 id 为target_obj_

jquery中判断对象是否可见的方法

jquery中判断对象是否可见的方法 if($("#id").is(":visible")){} else{} $("#id").is(":hidden")返回True/False 函数:.is() 语法:.is(selector) 检查当前选中的对象是否与给定的属性/参数匹配,如果匹配则返回True,否则返回False 语法: 1..is(selector) 2..is(functino(index)) 3..is(jque

smarty模板判断数组为空的方法_php实例

本文实例讲述了smarty模板判断数组为空的方法.分享给大家供大家参考.具体如下: 这里主要介绍两种方法: 1. 用count来取得数组的下标个数 下面例子中,如果$array为空则不输出任何数据 {if $array|@count neq 0 } // array is empty {/if} 2. 直接判断 { if $array neq ""} //array is empty {/if} 希望本文所述对大家基于smarty模板的php程序设计有所帮助. 以上是小编为您精心准备的

js中判断对象是否为空的三种实现方法_javascript技巧

在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种: 1.if   (typeOf(x)   ==   "undefined") 2.if   (typeOf(x)   !=   "object") 3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! java里面!x为true的时候x肯定为false了,但是这里