Chinaunix首页 | 论坛 | 博客
  • 博客访问: 368441
  • 博文数量: 284
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1707
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-14 16:38
文章分类

全部博文(284)

文章存档

2015年(6)

2014年(278)

我的朋友

分类: jQuery

2014-07-01 16:59:13

jquery的extend方法的用法
1. [代码][JavaScript]代码     
01 02"">
03
04   
05       
06        jquery继承
07   
08   
09       

对象继承{name:"ws",age:"23"}<={name:"king",sex:"man"}
10           


11           
12       


13       

全局方法继承$.hello()
14           
15       


16       

类插件方法触发
17           
name:
18           
age:
19           
20       


21       


22            深度拷贝{name:"ws",location:{city:"ningbo",code:"315000",locOther="other"},other:"第一岑对象中的参数"}<={name:"king",location:{city:"shaoxin",code:"311824"}}
23           


24           


25           
26           
27       


28   
29   
30   
99
2. [代码]说明     
view sourceprint?
01Jquery的扩展方法extend是我们在写插件的过程中常用的方法
02 
03模型:extend(dest,src1,src2,src3...);  解释:将src1,src2,src3...合并到dest中,返回值为合并后的dest
04 
051. 全局方法
06为扩展jQuery类本身.为类添加新的方法
07以理解为添加静态方法
08$.extend({
09  hello:function(){alert('hello');}
10});
11如何调用:$.hello(), 它将覆盖其他子的hello()方法
12 
132.jquery的实例对象方法
14(给jQuery对象添加方法)如:点击任何Dom对象弹出它的value
15$.fn.extend({fnmethod:function(){
16 $(this).click(function(){
17   alert($(this).val());
18 })
19}});
20 
213.关于深度拷贝
22深度拷贝   
23var result=$.extend( true,  {},  {name:"ws",other:{x:xvalue,y:yvalue}},{name:"ws",other:{x:xx}}}  
24=> {name:"ws",other:{x:xx,y:yvalue}}
25 
26非深度拷贝 
27var result=$.extend( false,  {},  {name:"ws",other:{x:xvalue,y:yvalue}},{name:"ws",other:{x:xx}}}  
28=> {name:"ws",other:{x:xx}}
29区别就是深度拷贝会把对象中的对象的所有属性都拷贝过来 ,而非深度拷贝则不会
30个人理解:可以吧对象理解为一个json对象,jquery的extend会继承所有对象中的顶层属性,而如果需要再继承对象属性中的属性,那么需要用到深度继承
31jquery默认的拷贝方式是非深度拷贝
阅读(272) | 评论(0) | 转发(0) |
0

上一篇:Jquery Plugin模版

下一篇: java 连接飞信API

给主人留下些什么吧!~~