jQuery插件编写
$.extend(dest,src1,src2,src3...);
将src1,src2,src3...合并到dest中,返回值为合并后的dest(修改了dest的结构)
var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数
例: var result=$.extend({},{name:"a",age:21},{name:"b",sex:"boy"})
结果: result={name:"b",age:21,sex:"boy"}
$.extend(boolean,dest,src1,src2,src3...)
第一个参数boolean代表是否进行深度拷贝
例: var result=$.extend(true,{},{name:"a",age:21,other:{x:1,y:2}},{name:"b",sex:"boy",other:{x:2,z:3}})
结果: result={name:"b",age:21,sex:"boy",other:{x:2,y:2,z:3}}
$.extend(obj)
把obj(方法或对象)合并到jquery的全局对象中。调用时使用$
例:
$.extend({ hello:function(){alert('hello');}}); -->$.hello()
$.extend({net:{}}); -->$.net
$.extend($.net,{
hello:function(){alert('hello');} -->$.net.hell()
})
$.fn.extend(obj)
把obj合并到jquery的实例对象中去。调用时使用实例对象,如:$("x")
例:
$.fn.extend({hello:function(){alert('hello');}}); -->$("x").hello()
$.fn $.fx
$.fn是指jquery的命名空间,$.fn.* 会对jquery实例每一个有效
例: $.fn.abc() 为jquery实例对象扩展abc方法
$.fx 创建新的命名空间,合并到jquery的全局对象中
例: $.abc 为jquery对象扩展abc命名空间