我想将类alpha.helper
中的一个对象扩展为Helper
类的实例,每次调用alpha.helper
函数时都会增加设置的难度,因为我需要传输alpha.imperfect
的当前值。
var _ = require("underscore");
var Helper = function(imperfect){
var helper = {};
helper.use = function(item){
console.log(item);
console.log(imperfect);
return false;
}
helper.bar = function(item){
console.log(item);
console.log(imperfect);
return false;
}
return helper;
}
var Alpha = function(){
var alpha = {};
alpha.imperfect = {}
alpha.add = function(item){
_.extend(alpha.imperfect, item);
}
alpha.helper = function(){
var helper = new Helper(alpha.imperfect);
return helper;
};
return alpha;
}
var alpha = new Alpha();
alpha.add({"name":"thomas"});
alpha.add({"something":"seven"});
alpha.helper.use("foo");
答案 0 :(得分:1)
只需使用
alpha.helper = new Helper(alpha.imperfect);
每次调用alpha.helper函数时都会增加设置的难度,因为我需要传输alpha.imperfect的当前值。
没有。 helper
始终可以访问当前imperfect
值,因为它仍然引用同一个对象。