jQuery.isEmptyObject() 函数详解

来源:互联网 发布:整型数据 true 编辑:程序博客网 时间:2024/04/27 18:54

jQuery.isEmptyObject() 函数详解

jQuery.isEmptyObject()函数用于判断指定参数是否是一个空对象

所谓"空对象",即不包括任何可枚举(自定义)的属性。简而言之,就是该对象没有属性可以通过for...in迭代。

该函数属于全局jQuery对象。

语法

jQuery 1.4 新增静态函数

jQuery.isEmptyObject( object )

参数

参数描述object任意类型需要进行判断的任意值。

注意:该参数应该始终是一个纯粹的JavaScript Object,因为其他类型(例如:DOM元素、原始字符串/数字、宿主对象)可能无法获得跨浏览器的一致结果。要确定一个对象是否是一个纯粹的JavaScript Object,你可以使用$.isPlainObject()方法。

返回值

jQuery.isEmptyObject()函数的返回值为Boolean类型,如果指定的参数是空对象,则返回true,否则返回false

示例&说明

jQuery.isEmptyObject()是通过for...in循环来进行判断,其源代码部分如下:

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

jQuery.isEmptyObject()函数的jQuery示例代码如下:

//在当前页面内追加换行标签和指定的HTML内容function w( html ){    document.body.innerHTML += "<br/>" + html;}w( $.isEmptyObject( { } ) ); // truew( $.isEmptyObject( new Object() ) ); // truew( $.isEmptyObject( [ 0 ] ) ); // falsew( $.isEmptyObject( { name: "CodePlayer"} ) ); // falsew( $.isEmptyObject( { sayHi: function(){} } ) ); // falsefunction User(){    }User.prototype.word = "Hello";// 自定义的原型对象上的属性也是可枚举的w( $.isEmptyObject( new User() ) ); // false/* 尽管在没有为空数组、Function、Number等内置对象添加自定义属性的情况下,它们也是不可枚举的,但是不推荐这么做。因为isEmptyObject()的参数应该始终是一个纯粹的Object */// 数组中没有元素,也无法通过for...in迭代出属性w( $.isEmptyObject( [ ] ) ); // true// Function、Number、String等内置对象也无法通过for...in迭代出属性w( $.isEmptyObject( function(){ alert("xxx") } ) ); // false

运行代码

20 2
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
原创粉丝点击