首先理解$.extend(),作用是将内部的对象从后向前覆盖合并;
example1:var color=$.extend({},{“color”:“red”},{“color”:“blue”});
得到结果 {“color”:“blue”};
理解后,开始编写jq插件;
(function ($) {
//这里放入插件代码
})(jQuery);
1. 避免全局依赖。
2. 避免第三方破坏。
3. 兼容jQuery操作符’$'和’jQuery’
用面向对象方式进行封装;
var jieqian=function(ele,opt){
this.ele=ele;
this.default={
"jieqian":0,
"huanqian":0
}
this.options=$.extend({},default,opt)
}
jieqian.prototype={
jisuan:function(){
this.ele.click(function(){
console.log(this.options.jieqian-this.options.huanqian);
var qian=this.options.jieqian-this.options.huanqian;
var shifouhuanqian;
if(qian>0){
shifouhuanqian=false;
}else{
shifouhuanqian=true;
}
return shifouhuanqian;
})
}
}
$.fn.myPlugin =
function
(options) {
//创建Beautifier的实体
var
beautifier =
new
jieqian(
this
, options);
//调用其方法
return
beautifier.jisuan();
}