1.1 $.extend(result,item1,item2…..)

将所有的参数项都合并result中,返回result,会破坏result的结构。

1.2 $.extend({},item1,item2,……)

将所得的结果全部合并在{}中,并返回,不会破坏原有的项的结构。

1.3 $.extend(bool,{},item1,item2….)

Extend方法还有带bool型参数的重载。

bool型参数为true表示深拷贝,为false时表示浅拷贝。

示例:

var obj={name:“vanida”,age:25,address{provice:”河南”,city:”郑州”}};

var obj1={sex:”girl”,address{city:” 上海”}};

var result=$.extend(true,obj,obj1);

var result1=$.extend(false,obj,obj1);

结果:

result={name:“vanida”,age:25,sex:”gril”,address:{provice:”河南”,city:”上海”}};

result1={name:“vanida”,age:25,sex:”gril”,address:{ city:”上海”}};

说明:

当参数为ture时,即为深拷贝,obj的子项有与obj1中的子项相同属性的值不一样时,obj中子项的值会将obj1子项中的值给覆盖,当子项obj的属性跟obj1中的属性不同时,会与obj进行合并。

当参数为false时,子项obj中的子项中与obj1中的子项属性相同时,obj1中子项的属性值会将obj中的值给完全覆盖。

1.4 $.extend(item)

该方法是将item合并到Jquery的全局对象中去,相当于为Jquery全局对象添加了一个

静态方法(对应这里的静态方法,当然还有实例方法,在后边有介绍)。

示例:

$.extend({SayHello:function(value){alert(“hello “+value);}});

这样写过之后,就可以直接调用SayHello方法:

$.SayHello(“Olive”);

说明:该方法相当于为Jquery类添加了新的方法。

1.5 $.fn.extend(item)

上边提到的$.extend(item)说是为Jquery类添加了静态方法,那么这里的$.fn.extend(item)就是为每一个实例添加一个实例方法了。

示例:

$.fn.extend({sayName:function(name){alert(“hello “+name);}});

这样写过之后,在获取每一个示例之后,都可以调用该方法:

$(“#id”).sayName(“lucas”);

1.6 $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。

如扩展$.fn.hello(),即$.fn.hello()是对jquery扩展了一个hello方法,那么后面你的每一个jquery实例都可以引用这个方法了.

那么你可以这样子:$("#dom").hello();

源码:

jQuery.fn = jQuery.prototype ={

   init: function( selector, context ){//.... 

   //......

};

随机推荐

  1. iOS--线程的创建

    1.获取当前线程 NSThread *current=[NSThread currentThread]; 2.获取主线程的另外一种方式 NSThread *main=[NSThread mainThr ...

  2. Storm系列二: Storm拓扑设计

    Storm系列二: Storm拓扑设计 在本篇中,我们就来根据一个案例,看看如何去设计一个拓扑, 如何分解问题以适应Storm架构,同时对Storm拓扑内部的并行机制会有一个基本的了解. 本章代码都在 ...

  3. Java Web入门学习(三)Maven的配置与使用国内仓库

    一.Maven下载与配置 下载好的压缩包,压缩到D盘,或者其他盘符. 新建系统环境变量 MAVEN_HOME  值是压缩好的Maven目录. 比如: D:\apache-maven- 在path环境变 ...

  4. Scrapy框架--cookie的获取/传递/本地保存

    环境:Python3.6 + Scrapy1.4 我要实现的东西:1. 完成模拟登陆         2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中         3. ...

  5. (转)MySQL日志管理

    MySQL 服务器上一共有六种日志:错误日志,查询日志,慢查询日志,二进制日志,事务日志,中继日志. 原文:https://segmentfault.com/a/1190000003072237 一 ...

  6. EJB3 阶段总结+一个EJB3案例 (1)

    经过一段时时间的学习,对EJB3的相关知识和jboss8的配置有了大概的了解. 网上对EJB的评论很多,基本都是负面的,都表示EJB太过于沉重,不容易维护.但通过这段时间的学习,私下认为,EJB3在某 ...

  7. log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.o

    上面的报错是在本地java调试(windows) hadoop集群 出现的 解决方案: 在resources文件夹下面创建一个文件log4j.properties(这个其实hadoop安装目录下的 e ...

  8. 正则中str.match(pattern)与pattern.exec(str)的区别

    这两个函数除了调用对象以及参数不同之外,<javascript高级程序设计>中对exec描述比较详细,对match只是说返回数组跟exec一样.书中并没有说只说了正则在非全局模式下的情况, ...

  9. 【树】Construct Binary Tree from Inorder and Postorder Traversal

    题目: Given inorder and postorder traversal of a tree, construct the binary tree. 思路: 后序序列的最后一个元素就是树根, ...

  10. Python&Appium实现安卓手机图形解锁

    首先,在解锁状态下,建立一个Session,打开APP.然后,调用press_keycode()方法传入整型数值"26",锁定屏幕.通过implicitly_wait()方法等待两 ...