原文地址 http://www.365mini.com/page/jquery_isemptyobject.htm

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( { } ) ); // true
w( $.isEmptyObject( new Object() ) ); // true w( $.isEmptyObject( [ 0 ] ) ); // false
w( $.isEmptyObject( { name: "CodePlayer"} ) ); // false
w( $.isEmptyObject( { sayHi: function(){} } ) ); // false
function 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

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

  1. jQuery.isEmptyObject() 函数详解

    所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. 该函数属于全局jQuery对象. 语法 jQuery 1.4 新增该 ...

  2. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  3. jQuery.ready() 函数详解

    jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...

  4. jquery inArray()函数详解

    jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...

  5. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  6. jQuery.hasClass() 函数详解

    jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...

  7. jQuery.ajax() 函数详解

    jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...

  8. jQuery.makeArray() 函数详解

    jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性, ...

  9. jQuery.proxy() 函数详解

    jQuery.proxy()函数用于改变函数的上下文. 你可以将指定函数传入该函数,该函数将返回一个新的函数,其执行代码不变,但函数内部的上下文(this)已经被更改为指定值. 该函数属于全局的jQu ...

随机推荐

  1. Coins and Queries(codeforce 1003D)

    Polycarp has nn coins, the value of the i-th coin is aiai . It is guaranteed that all the values are ...

  2. Make Cents

    Every year, an elephant qualifies to the Arab Collegiate Programming Competition. He graduated this ...

  3. linux 修改openfiles

    使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数. 新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too ...

  4. uboot重定位代码分析(转)

    概述 重定位(relocate)代码将BootLoader自身由Flash复制到SDRAM,以便跳转到SDRAM执行.之所以需要进行重定位是因为在Flash中执行速度比较慢,而系统复位后总是从0x00 ...

  5. Java多线程-线程的调度(优先级)

    与线程休眠类似,线程的优先级仍然无法保障线程的执行次序.只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行. 线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先 ...

  6. 自定义type

  7. Codeforces 919F——A Game With Numbers

    转自大佬博客:https://www.cnblogs.com/NaVi-Awson/p/8405966.html; 题意 两个人 Van♂ 游戏,每人手上各有 8'>88 张牌,牌上数字均为 [ ...

  8. LINUX下用C语言历遍目录 C语言列出目录 dirent.h在C/C++中的使用

    LINUX下历遍目录的方法一般是这样的打开目录->读取->关闭目录相关函数是opendir -> readdir -> closedir #include <dirent ...

  9. Docker01 centos系统安装、centos安装docker、docker安装mongoDB

    1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...

  10. list 的扩展

    数据挖掘中会遇到添加多个新的特征s,对一个feature = list()来说, 除了可以用 feature.append('xx') # 在尾部添加一个特征 feature.extend(['xx' ...