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() ) ); // true

w( $.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
时间: 2024-12-28 13:40:22

jQuery.isEmptyObject() 函数详解的相关文章

jQuery.isEmptyObject() 函数详解 转

原文地址 http://www.365mini.com/page/jquery_isemptyobject.htm jQuery.isEmptyObject()函数用于判断指定参数是否是一个空对象. 所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. 该函数属于全局jQuery对象. 语法 jQuery 1.4 新增该静态函数. jQuery.isEmptyObject( object ) 参数 参数 描述 object 任意

jQuery extend函数详解

一 jQuery的扩展方法原型是 $.extend(dest,src1,src2,src3); 含义是将src1,src2,src3合并到dest中,返回值为合并后的dest,该方法合并后,dest的结构被修改. <script> var dest = {'type':'person'} var src1 = {'name':'lisi','age':12} var src2 = {'sex':'male'} var src3 = {'class':'class 1'} var result

jQuery插件开发及jQuery.extend函数详解和jQuery.fn与jQuery.prototype区别

一.jQuery插件开发分为两种:  1.类级别: 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.extend(object); $.extend({ add:function(a,b){return a+b;} , minus:function(a,b){return a-b;} }); var i = $.add(3,2); var j = $.minus(3,2); 2.对象级别: 对

jQuery.hasClass() 函数详解

目录 jQuery.hasClass() 函数详解 语法 参数 返回值 示例&说明 jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScript: jQueryObject.hasClass( className ) 参数 参数 描述 className String类型指定的css类名. 返回值 hasClass()函数的返回值是Boolean类型,返回

jQuery.noConflict() 函数详解

jQuery.noConflict()函数用于让出jQuery库对变量$(和变量jQuery)的控制权. 一般情况下,在jQuery库中,变量$是变量jQuery的别名,它们之间是等价的,例如jQuery("p")和$("p")是等价的.由于变量$只有一个字符,并且特点鲜明,因此我们更加习惯使用$来操作jQuery库. 不过,其他JS库也可能使用变量$来进行操作,例如Prototype库.这个时候两个库可能会由于变量$的控制权问题而发生冲突. 此时,你可以使用该函数

jQuery.noop() 函数详解

jQuery.noop()函数是一个空函数,它什么也不做.当某些时候你需要传入函数参数,而且希望它什么也不做的时候,你可以使用该函数,也无需再新建一个空的函数.该函数属于全局jQuery对象. jQuery 1.4 新增该静态函数. 返回值jQuery.noop()函数没有返回值(也可视作返回undefined). jQuery.noop()函数的源代码部分如下:noop: function() {} 以下jQuery示例代码用于演示jQuery.noop()函数的具体用法: // 传入一个空函

jQuery.proxy() 函数详解

jQuery.proxy()函数用于改变函数的上下文. 你可以将指定函数传入该函数,该函数将返回一个新的函数,其执行代码不变,但函数内部的上下文(this)已经被更改为指定值. 该函数属于全局的jQuery对象. 语法 jQuery 1.4 新增该静态函数.jQuery.proxy()函数有如下两种用法: 用法一: jQuery.proxy( function, context [, additionalArguments ] ) 将函数function的上下文对象更改为指定的context.

jQuery.ajax() 函数详解

jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. jQuery.ajax()函数是jQuery的底层AJAX实现.jQuery.get(). jQuery.post().load(). jQuery.getJSON(). jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略). 该函数属于全局

jQuery.makeArray() 函数详解

jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性,并以0.1.2.3……等数字作为属性名. 不过它毕竟不是数组,没有从数组的原型对象上继承下来的内置方法(例如:push(). sort()等). jQuery.makeArray( object ) 注意事项: 一个类数组对象,它至少应该具备length属性,哪怕其值为 0,它可以没有"元素&quo