$.extend 的相关用法
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 ){//....
//......
};
最新文章
- Apache InterfaceAudience
- Java并发编程之阻塞队列
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
- 我的PHP之旅--认识数据库及数据库操作
- (转载)在状态栏即时显示Hint
- Windows内核之线程的调度,优先级,亲缘性
- Css3案例
- localStorage请使用getItem 和setITem
- keil c51的内部RAM(idata)动态内存管理程序(转)
- 头皮发麻的HTML课时一
- Sublime Text3使用汇总
- 网站内容禁止复制和粘贴、另存为的js代码
- MongoDB数据创建与使用
- HDU 1019(求最小公倍数 **)
- 使用VS Code调试Node
- RouterOS限速更高级运用
- sg函数的理解
- JS DOM操作 函数 事件 阻止事件冒泡
- eclipse cdt运行c程序报错“launch failed,binary not found”
- Android操作HTTP实现与服务器通信
热门文章
- UITableView 的常用可复制代码
- 【poj3252】 Round Numbers (数位DP+记忆化DFS)
- Java之集合(六)PriorityQueue
- SourceTree跳过Atlassian账号,免登陆,跳过初始设置
- Android_Activity启动模式
- Redis运行流程源码解析--转载
- 使用gitlab, jenkins搭建CI(持续集成)系统(2) -- 配置webhook触发构建
- CPU结构与指令执行过程简介
- c# combobox控件的使用
- 什么是汉明窗?加Hanmming窗的作用?