对象文字中的类

时间:2013-11-30 16:32:13

标签: javascript oop

我只是不确定如何进行搜索,尽管经过多次尝试,所以请原谅我,如果以前已经回答过。

问题很简单:我可以创建类window.A.class()的实例作为window.B吗?

为了澄清,我有一个对象文字,包含浏览器游戏的所有数据:

var gameName = {
  environment: function() {
    this.place = "...";
    // ...
    // ...
  },
  game: function() {
    this.player = function() {
       // ...
    }
  }
  // and so on...
}

我可以使用window创建gameName.environment()var A = new gameName.environment()个实例吗?在类的父对象外创建对象绑定类的实例是否有任何限制?

1 个答案:

答案 0 :(得分:3)

在这种情况下,函数定义的方式/位置并不重要。考虑以下两个例子:

function Foo() {}

var obj = {
    bar: Foo
};

var obj = {
    bar: function () { }
};

就功能和对象而言,这两个例子是等价的。所以不,调用分配给new的对象属性的函数没有问题。您只需要参考该函数,无论您如何获得该参考。

你可以做到

var Environment = gameName.environment;
var A = new Environment();

如果你更喜欢这样,但这完全没必要。