在JS中创建并初始化一个对象

时间:2012-11-23 07:46:20

标签: javascript

我正在尝试一次创建和初始化一个对象。所以不要这样做

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"}这样的对象文字。

1 个答案:

答案 0 :(得分:0)

一种替代方案可以是:

var a = (function(){

  var A = function() {
    this.creator = "Levi";
  }

  A.prototype.blah = function() {
    return "blah"
  };

  return new A;

})();

这对于一次性对象A可能很有用。