$.extend(obj):
扩展jquery本身,添加方法:
$.extend({ add:function(a,b){ return a+b; } }) $.add(5,8) //return 13
这里是直接调用,$.add(5,8);不加任何对象。
$.fn.extend(obj):
对prototype进行扩展,为jquery类添加成员函数, jquery类的实例可以使用这个成员函数。
$.fn.extend({ clickwhile:function(){ $(this).click(function(){ alert($(this).val()) }) } })
$('input').clickwhile();//当点击输入框会弹出该对象的Value值
$.extend()合并多个结构:
value=$.extend({}{sa:"asdf"},{sd:"adsfasd"},"dsaf");
alert(value.sa);
value的值为:object(sa:"asdf",sd:"absfasd","dsaf");
value=$.extend({}{sa:"asdf"},{sa:"adsfasd"},"dsaf");
alert(value.sa);
value的值为:object(sa:"adsfasd","dsaf"); 后面相同名字的结构的内容会覆盖前面的内容。
$.extend()原型:
extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest 。
可以省略dest,用法就像最开始的$.extend(obj),将整个Jquery当成dest函数,给他赋值。
看一个例子就完全明白了:
var arr=new Array("xieyutian","lizhenjing","helloworld","tianlanihao"); $(document).ready(function(){ value=$.extend({ss:function(){ alert("OK");}},{sa:"adsfasd"},"dsaf"); dump_obj(value); }); function dump_obj(myObject) { var s = ""; for (var property in myObject) { s = s + "\n "+property +": " + myObject[property] ; } alert(s); }
他会输出:
0: d
1: s
2: a
3: f
ss: function (){
alert("OK");}
sa: adsfasd