zoukankan      html  css  js  c++  java
  • 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( { } ) ); // 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
  • 相关阅读:
    PAT Advanced 1067 Sort with Swap(0, i) (25分)
    PAT Advanced 1048 Find Coins (25分)
    PAT Advanced 1060 Are They Equal (25分)
    PAT Advanced 1088 Rational Arithmetic (20分)
    PAT Advanced 1032 Sharing (25分)
    Linux的at命令
    Sublime Text3使用指南
    IntelliJ IDEA创建第一个Groovy工程
    Sublime Text3 安装ftp插件
    Sublime Text3配置Groovy运行环境
  • 原文地址:https://www.cnblogs.com/xieqian111/p/5665855.html
Copyright © 2011-2022 走看看