博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery的一个关键函数
阅读量:6914 次
发布时间:2019-06-27

本文共 981 字,大约阅读时间需要 3 分钟。

jQuery.extend = jQuery.fn.extend = function() {

 // copy reference to target object
 var target = arguments[0] || {}, a = 1, al = arguments.length, deep = false;

 // Handle a deep copy situation

//这个IF条件基本上总是false,只有当target对象是布尔类型时才会是真,也就是这段代码好像没有什么作用

  if ( target.constructor == Boolean ) {   

  deep = target;
  target = arguments[1] || {};
 }

 // extend jQuery itself if only one argument is passed

 if ( al == 1 ) {
  target = this;
  a = 0;
 }

 var prop;

 for ( ; a < al; a++ )

  // Only deal with non-null/undefined values
  if ( (prop = arguments[a]) != null )
   // Extend the base object
   for ( var i in prop ) {
    // Prevent never-ending loop
    这一段代码不知道怎么搞的,说是用来阻止死循环,但我怎么也不明白他是如何阻止的,好像却了他也没什么影响。
    if ( target == prop[i] )
     continue;

    // Recurse if we're merging object values

    if ( deep && typeof prop[i] == 'object' && target[i] )
     jQuery.extend( target[i], prop[i] );

    // Don't bring in undefined values

    else if ( prop[i] != undefined )
     target[i] = prop[i];
   }

 // Return the modified object

 return target;
};

 

转载地址:http://rfacl.baihongyu.com/

你可能感兴趣的文章
LoadRunner测试ajaxweb程序攻略
查看>>
咋办?运营商认为虚拟化难快速降低OPEX
查看>>
卧底软件:帮助公司找出“内奸”
查看>>
Loadrunner日志设置与查看
查看>>
美国两大有线电视运营商达成无线服务合作 Verizon的大麻烦来了?
查看>>
Qt之QNetworkInterface
查看>>
深圳卓炎科技的企业网站建设实战经验分享
查看>>
《开源思索集》一开放源码是开源软件吗? - 简书
查看>>
Ubuntu Touch将支持用户数据加密:目前暂无时间表
查看>>
《金蝶ERP—K/3标准财务模拟实训(11.X版)》——导读
查看>>
开发者必备:基于 Linux 生态的十大AI开源框架盘
查看>>
《基于ArcGIS的Python编程秘笈(第2版)》——2.10 更新图层的符号系统
查看>>
SAP的ABAP屏幕程序如何使用Table Control进行数据交互
查看>>
Visual Studio 将集成 Cordova 支持跨平台开发
查看>>
这些方法助你优化 Android 启动速度
查看>>
《简明电路分析》——2.4节单口网络
查看>>
《位置大数据隐私管理》—— 导读
查看>>
如何在 Ubuntu 以及 Debian 中安装 DHCP 服务器
查看>>
《图数据库》——2.1 关系型数据库缺少联系
查看>>
16万Facebook数据告诉你,单身狗更爱养猫
查看>>