是这样的,写了一个表格插件,现在要满足在一个页面多次实例。
插件的实例会带入参数,参数会合并默认参数产生新的参数,插件的运行必须这个新参数
var defaults = {
url: "",
pageSize: 15,
//等参数
};
var settings = {};
function DataTable(element, options) {
this.element = element;
settings = $.extend({}, defaults, settings, options);
}
问题多次实例可能会造成参数的改变,有什么办法可以有效的区分每个实例的参数?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
我一般是用构造函数new
var defaults ={
row: 6
}//固定参数
var Table = function(opt){
var _this = this;
//setting放入构造函数形成闭包,每次new一个新的table,defaults内的参数不会被覆盖,
//新的参数随着opt被传入,并被保存在局部变量setting内
var setting = $.extend({}, defaults, opt || {});
_this.getRow = function(){
console.log(setting.row)
}
}
var tableA = new Table({col:5,row:7});
tableA.getRow();//7
var tableB = new Table({col:10});