这个问题是我的旧问题将范围变量添加到构造函数的简化版本。问题很简单,我可以在不更改函数的情况下将 priv 变量添加到 fu() 的范围吗?(不在功能块内部添加)
这是代码:
fff = function() {
alert('constructed');
//alert(priv);
};
pro = {
pub: 'public'
}
var make = function(fu, pro) {
var priv = 'private';
fu.prototype = pro
return function() {
return new fu();
};
};
var cls = make(fff, pro);
var obj = cls();
alert(obj.pub);
如您所见,如果您取消注释
//alert(priv);
行 Uncaught ReferenceError: priv is not defined 错误。
我需要一种方法来重新定义 fu() 函数对象的范围。