我正在尝试在javascript上创建一个类似于架构的类,但停留在一个点上。这是代码:
var make = function(args) {
var priv = args.priv,
cons = args.cons,
pub = args.pub;
return function(consParams) {
var priv = priv,
cons = args.cons;
cons.prototype.constructor = cons;
cons.prototype = $.extend({}, pub);
if (!$.isFunction(cons)) {
throw new Hata(100001);
}
return new cons(consParams);
}
};
我正在尝试在返回的函数对象的范围和 cons.prototype 的对象范围上添加 priv 变量,但我无法做到;
这是make对象的用法:
var myClass = make({
cons: function() {
alert(this.acik);
alert(priv.gizli);
},
pub: {
acik: 'acik'
},
priv: {
gizli: 'gizli'
}
})
myObj = myClass();
PS:好吧,我使用外部变量只是为了演示我想要做什么。我知道javascript函数结构的私有变量语法。但是我需要一个解决方案来更改(添加私有变量)将由“新”(我忘记了模式名称)实例化模式使用的函数的范围。
PS:请原谅我的英文...