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
  • 相关阅读:
    v-distpicker 一个好用的三级联动的插件
    截取url参数
    position: relative 和 position: absoution 的详解
    自己封装一个下拉列表
    临界区访问的两个类:临界区类,共享临界区类——多平台版本
    临界区访问的两个类:临界区类,共享临界区类
    beyond compare 4.2.9桌面右键集成的问题修复
    递归创建、删除目录的几个函数
    读取资源中的GIF文件相应像素宽高度
    在关于对话框中,自动获取当前程序的版本,以显示
  • 原文地址:https://www.cnblogs.com/woodyliang/p/6475895.html
Copyright © 2011-2022 走看看