`
zhangyaochun
  • 浏览: 2621031 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jQuery源码浅谈系列---$.isPlainObject

阅读更多

jQuery.isPlainObject(obj)

 

   ----------测试参数对象是否是纯粹的对象通过“{}”或者“new Object”创建的

 

 

  参数obj--{Object}: 用于测试是否为纯粹的对象。

 

 

 

/*简单的列举几个测试的例子*/
jQuery.isPlainObject({});  //true
jQuery.isPlainObject(1);  //false
jQuery.isPlainObject("zhangyaochun"); //false

 

 

源码选自于1.4.2版本

 

 

var hasOwnProperty  = Object.prototype.hasOwnProperty,
      toString = Object.prototype.toString;
isPlainObject:function(obj){
    //!obj ---一定要是对象
    // toString.call(obj) !== "[object Object]"----因为IE,检测constructor
    //obj.nodeType ----避免不是DOM nodes
    //obj.setInterval ---排除window
   if(!obj || toString.call(obj) !== "[object Object]" ||obj.nodeType ||obj.setInterval){
            return false;
   }
   //是否是new fun()自定义对象
   //constructor是否是继承原型链
   //原型链是否有isPrototypeOf
   if(obj.constructor && !hasOwnProperty.call(obj,"constructor")
       && !hasOwnProperty.call(obj.constructor.prototype,"isPrototypeOf")){
         return false;
   }
   //判断是否有继承关系
   //自己的属性会被首先遍历
    var key;
    for(key in obj){}
    //直接看最后一项是未了加速遍历的过程
    return key === undefined || hasOwnProperty.call(obj,key);
}
0
1
分享到:
评论

相关推荐

    jQuery.isPlainObject-v1.10.2源码

    jQuery.isPlainObject-v1.10.2源码

    jQuery 1.5 API 中文版

    $.jQuery( selector [, context] ), .jQuery( element ), .jQuery( elementArray ), .jQuery( jQueryObject ), .jQuery( ) $.jQuery( html [, ownerDocument] ), .jQuery( html, props ) $.jQuery( fn ) jQuery ...

    jquery 最新API 文档,非常全面

    - **$.isPlainObject()** 和 **$.isFunction()**:检查对象类型。 7. **jQuery版本与兼容性** jQuery不断更新以适应新的浏览器特性和性能优化,同时保持对旧浏览器的兼容性。 这个文档中的"index.html"很可能是...

    jquery1.11.0手册

    jQuery 1.11.0 速查表 核心 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 each(callback) size() length selector ...

    jQuery 1.4.1 中文参考

    - `$.isArray()`、`$.isFunction()`、`$.isEmptyObject()`、`$.isPlainObject()`:类型检测。 - `$.trim()`:字符串修剪。 - `$.param()`:URL编码。 jQuery 1.4.1提供了全面的功能,使得JavaScript开发者能更便捷...

    jQuery源码分析系列_1.6

    ### jQuery源码分析系列_1.6 #### 一、前言 在现代Web开发领域,jQuery无疑是一款具有里程碑意义的JavaScript库。它通过简洁、强大的API极大地简化了DOM操作、事件处理、Ajax交互以及动画等功能,使得前端开发变得...

    jQuery源码分析-03构造jQuery对象-源码结构和核心函数

    window.jQuery = window.$ = jQuery; })(window); ``` 通过上述的代码可以了解到,jQuery的构造函数并没有直接用来创建jQuery对象实例,而是通过`jQuery.fn.init`方法来实现。 #### 3.2 jQuery.fn.init `jQuery....

    jQuery Utilities 分类下的函数(或属性)的实现方式分析

    除此之外,jQuery还提供了许多其他实用工具,如`$.trim()`用于去除字符串两端的空白,`$.isPlainObject()`判断是否为纯粹的对象,`$.inArray()`检查元素是否在数组中,以及`$.grep()`过滤数组等。这些函数的实现都...

    从零开始学习jQuery (2).

    工具函数是jQuery框架中非常重要的一部分,它们提供了一系列便捷的方法来处理常见的编程问题,如数据类型转换、字符串操作、数组和对象的处理等。通过这些工具函数,开发者可以避免重复编写相同的代码,提高开发效率...

    jQuery1.4 API

    jQuery 1.4.1 速查表 -- Shawphy, 原作:G. Scott Olson 核心 jQuery 核心函数 jQuery(expr, [context]) jQuery(html, [ownerDoc]) jQuery(html, props) jQuery(elements) jQuery() jQuery(callback) jQuery 对象访问...

    JQuery权威指南源代码

    使用$.isPlainObject()函数检测对象是否为原始对象 使用$.contains()函数检测两个节点是否包含 使用$.param()进行数组元素序列化 使用函数$.extend()扩展工具函数 使用函数$.proxy()改变事件函数的作用域 使用...

    jQuery权威指南-源代码

    书名:jQuery权威指南(系统介绍jQuery方方面面,囊括118个实例和2个综合案例,实战性强) 作者:陶国荣 著 书号:978-7-111-32543-7 定价:59.00元 出版社:机械工业出版社华章公司 出版时间:2011年1月 编辑推荐:...

    Jquery中文api

    **jQuery中文API详解** jQuery,一个轻量级的JavaScript库,因其简洁的API和强大的功能,深受前端开发者喜爱。这个“jQuery中文API”是为帮助开发者更好地理解和使用jQuery而编写的文档,它提供了详尽的函数、方法...

    JQuery1.6_API.CHM

    6. **jQuery UI组件**:jQuery UI 提供了一系列可复用的用户界面组件,包括日期选择器(DatePicker)、对话框(Dialog)、拖放功能(Draggable)、可排序列表(Sortable)和可叠放的元素(Accordion)等。...

    jquery-api

    jQuery还包含一系列实用工具方法,如`$.each()`用于遍历数组或对象,`$.inArray()`检查元素是否存在于数组中,`$.trim()`去除字符串两端的空白,`$.isPlainObject()`判断对象是否为纯对象等。 总结,jQuery API不仅...

Global site tag (gtag.js) - Google Analytics