//类级别插件开发,主要是在jQuery中定义全局方法: //第一种写法 jQuery.myFunc = function(str){ alert("直接在jquery中定义方法",str) } //调用方式 $.myFunc("hello!"); //第二种写法 jQuery.extend({ myFunc:function(str){ alert("extend扩展$的方法",str) } }) //调用方式 $.myFunc("hello!"); //第三种写法: 为了不污染全局,挂载一个对象作为命名空间,自定义的所有方法放在这里,保证jQuery全局安全。 jQuery.define={ myFunc:function(str){ alert("命名空间的写法",str) } } //调用方式:$.define.myFunc("hello"); //以上三种是级别插件开发方式,不常用,从调用方式看出,他们是全局执行的,不需要绑定节点对象。 //对象级别插件开发:有规范模板 ;(function($){ $.fn.plugin = function(options){ var defaults = { //各种默认参数 } var options = $.extend(defaults,options); //传入的参数覆盖默认参数 this.each(function(){ var _this = $(this); //缓存一下插件传进来的节点对象。 //执行内容 }) return $(this); //把节点对象返回去,为了支持链式调用。 } })(jQuery); //调用方式 $("selector").plugin({ //自定义参数,json格式 })
https://www.cnblogs.com/chengyunshen/p/7277305.html