【发布时间】:2014-05-26 17:40:54
【问题描述】:
这种模式真的很适合我,但我怎样才能让它充当一个基类而不使用'new'、'this'或'Object.create()'?有可能吗?
var myObj = (function () {
var x = 0;
var privFunc = function() { console.log(x); };
// interface
return {
init : function (arg) { x=arg; },
getVal : privFunc
};
}());
var abc = myObj;
abc.init(123);
abc.getVal(); //123
var xyz = myObj;
xyz.init(456);
xyz.getVal(); //456
abc.getVal(); //456? want it to return 123
【问题讨论】:
-
如果你想让它返回
123,那么不要在init函数中改变它的值。但是,除非您对x有其他用途,否则该模式根本没有意义。
标签: javascript module iife