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. orm 练习题

    一: 多表练习查询 1. 自行创建测试数据: 2. 查询学生总人数: 3. 查询“生物”课程和“物理”课程成绩都及格的学生id和姓名: 4. 查询每个年级的班级数,取出班级数最多的前三个年级: 5. ...

  2. Android UiAutomator UiDevice API

    UiDevice为单例模式 1.获取设备 static UiDevice getInstance() This method is deprecated. Should use getInstance ...

  3. (转)mysql原生在线ddl和pt-osc原理解析

    原文:http://blog.csdn.net/zengxuewen2045/article/details/52017247 https://github.com/mysql-inception/i ...

  4. CentOS Maven 删除 *.lastUpdated文件

    find . -name "*.lastUpdated" -exec rm -rf {} \;

  5. java面试①整体流程

    http://www.toutiao.com/i6463396763549041166/ 1.1 简单的自我介绍 我是xxx工作了xx年,在xx公司,做过xx项目, 1.2你简单介绍一下xxx项目 为 ...

  6. lucene源码分析(7)Analyzer分析

    1.Analyzer的使用 Analyzer使用在IndexWriter的构造方法 /** * Constructs a new IndexWriter per the settings given ...

  7. webbrowser打开新窗口事件+=

    测试可用: private void SaveSnapshot_Click(object sender, EventArgs e) { this.webBrowser1.Navigate(txturl ...

  8. readtimeout

    请求头去掉content-length,未找到明确原因.

  9. 关于post跨域请求数据的问题-包括同源策略

    在<system.webServer>配置下面加入 <httpProtocol> <customHeaders> <add name="Access ...

  10. ADO调用分页查询存储过程

    一.分页存储过程 ----------使用存储过程编写一个分页查询----------------------- set nocount off --关闭SqlServer消息 --set nocou ...