版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37064409/article/details/79158206
工作中遇到的和积累的,面向对象的封装方法:
模板一
// Jquery 依托jquery的封装方法
var Fn, __bind = function (fn, context) {
return function () {
return fn.apply(context, arguments);
};
};
(function () {
Fn = (function () {
//共有属性
Fnn.prototype.name = "Fn";
function Fn(params) {
//私有属性
var that = this;
// 私有方法
this.id = params.id;
this.$div = $(params.div);
// 事件封装
this.div_click = __bind(this.div_click, this);
// 事件调用
this.addEventListeners();
return;
}
// 共有方法
this.prototype.addEventListeners = function () {
this.$div.on("click", this.div_click);
};
Fnn.prototype.show = function () {
console.log(this.id);
};
// 事件
Fnn.prototype.div_click = function () {
console.log(this.name);
};
return Fnn;
})();
}).call(this);
var fn = new Fn({id: 1,div: "div"});
- function(){}).call(this)
//形成一个封闭作用域 - Fn = (function(){ })()
// IIFE 变量Fn用来接收内部构造函数对象 - function Fnn(){}; return Fnn;
// 闭包