我正在尝试创建一个在没有new
javascript 关键字的情况下返回的对象?
到目前为止我的代码结构;
myLib.func = (function() {
"use strict";
function func() {
this._init();
};
func.prototype._init = function() {
this.someVar = 5;
};
Return func;
})();
这显然只在使用new
关键字时有效;
new myLib.func();
我怎样才能做到这一点,以便我能做到;
var func = myLib.func();
但它仍然会返回一个与第一个示例完全相同的对象?
我试过的
myLib.func = (function() {
"use strict";
function func() {
if (window === this) {
return new myLib.func();
} else {
this._init();
}
};
func.prototype._init = function() {
this.someVar = 5;
};
Return func;
})();
这不起作用我从 John Resig 关于构建库的技巧的幻灯片 25 的示例中学到的,http ://ejohn.org/blog/building-a-javascript-library/
我知道已经有现有的框架,但是滚动我自己的框架会让我学到很多东西,正如你所看到的,目前还不是很多!