zoukankan      html  css  js  c++  java
  • jQuery.isEmptyObject() 函数详解 转

    原文地址 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
  • 相关阅读:
    vue-router的push和replace的区别
    ajax请求常见状态码以及产生的原因
    vue定义data的三种方式与区别
    button与input button区别
    变量的声明方式
    js变量
    JavaScript的节流与防抖?
    js实现继承的方法-构造函数
    前端表单验证常用的15个JS正则表达式
    ES6中的新增数组的方法
  • 原文地址:https://www.cnblogs.com/kunlunmountain/p/5984038.html
Copyright © 2011-2022 走看看