最近在研究jQuery。把jQuery.extend扩展函数的用法记录下来。
1、扩展jQuery静态方法.
1
$.extend(
{
2
test:function(){alert('test函数')}
3
}
)
$.extend(
{2
test:function(){alert('test函数')}3
}
)
用法: $.test()
2、合并多个对象.
为jQuery.extend(css1,css2)为例,css1,css2个有一些属性(法照样会比处理,这里之讲属性).
extend函数会把css2有而css2没有的属性加到css1中,如果css2的某个属性与css1的某个属性名称享用,就会用css2的属性去覆盖css1的同名属性。css1就是最后的整和对象。或者也可以用 :
var newcss = jquery.extend(css1,css2) newcss就是合并的新对象。
var newcss = jquery.extend({},css1,css2) newcss就是合并的新对象.而且没有破坏css1的结构。
1
//
用法: jQuery.extend(obj1,obj2,obj3,
..)
2
var
Css1
=
{size: "10px",style: "oblique"}
3
var
Css2
=
{size: "12px",style: "oblique",weight: "bolder"}
4
$.jQuery.extend(Css1,Css2)
5
//
结果:Css1的size属性被覆盖,而且继承了Css2的weight属性
6
//
Css1 = {size: "12px",style: "oblique",weight: "bolder"}
7
//
用法: jQuery.extend(obj1,obj2,obj3,
..)
2
var
Css1
=
{size: "10px",style: "oblique"}
3
var
Css2
=
{size: "12px",style: "oblique",weight: "bolder"}
4
$.jQuery.extend(Css1,Css2)5
//
结果:Css1的size属性被覆盖,而且继承了Css2的weight属性
6
//
Css1 = {size: "12px",style: "oblique",weight: "bolder"}
7
3。深度镶套对象
新的 extend ()允许你更深度的合并镶套对象。下面的例子是一个很好的证明。
1
//
以前的 .extend()
2
jQuery.extend(
3
{ name: “John”, location: { city: “Boston” } }
,
4
{ last: “Resig”, location: { state: “MA” } }
5
);
6
//
结果:
7
//
=> { name: “John”, last: “Resig”, location: { state: “MA” } }
8
//
新的更深入的 .extend()
9
jQuery.extend(
true
,
10
{ name: “John”, location: { city: “Boston” } }
,
11
{ last: “Resig”, location: { state: “MA” } }
12
);
13
//
结果
14
//
=> { name: “John”, last: “Resig”,
15
//
location: { city: “Boston”, state: “MA” } }
16
17
//
以前的 .extend()
2
jQuery.extend( 3
{ name: “John”, location: { city: “Boston” } }
, 4
{ last: “Resig”, location: { state: “MA” } }
5
); 6
//
结果:
7
//
=> { name: “John”, last: “Resig”, location: { state: “MA” } }
8
//
新的更深入的 .extend()
9
jQuery.extend(
true
, 10
{ name: “John”, location: { city: “Boston” } }
, 11
{ last: “Resig”, location: { state: “MA” } }
12
); 13
//
结果
14
//
=> { name: “John”, last: “Resig”,
15
//
location: { city: “Boston”, state: “MA” } }
16
17
本文介绍了jQuery中的extend方法,包括如何使用此方法扩展jQuery静态方法、合并多个对象以及进行深度镶套对象的合并。通过示例详细展示了不同场景下的应用。

215

被折叠的 条评论
为什么被折叠?



