我正在尝试一次创建和初始化一个对象。所以不要这样做
var a = function(){};
a.prototype.blah = function(){return "blah"};
var b = new a();
我想用这个。
var a = function(){
return new function init() {
this.extend = init.prototype;
this.creator = "Levi";
this.create = function(){
return new init();
}
// other stuff
};
}();
a.extend.blah = function(){return "blah";};
有更好的方法吗?我特别不确定在我的代码中使用return new function
。谢谢!
编辑:只是为了澄清我想使用它作为对象原型的一种包装我不想使用像var a = {extend: "",creator: "Levi"}
这样的对象文字。
答案 0 :(得分:0)
一种替代方案可以是:
var a = (function(){
var A = function() {
this.creator = "Levi";
}
A.prototype.blah = function() {
return "blah"
};
return new A;
})();
这对于一次性对象A
可能很有用。