【发布时间】:2013-01-30 22:32:29
【问题描述】:
我想将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");
【问题讨论】:
-
当你的函数只返回对象时,没有理由使用
new关键字。 -
@Bergi 谢谢,不知道。
标签: javascript class object nested