我只是不确定如何进行搜索,尽管经过多次尝试,所以请原谅我,如果以前已经回答过。
问题很简单:我可以创建类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()
个实例吗?在类的父对象外创建对象绑定类的实例是否有任何限制?
答案 0 :(得分:3)
在这种情况下,函数定义的方式/位置并不重要。考虑以下两个例子:
function Foo() {}
var obj = {
bar: Foo
};
和
var obj = {
bar: function () { }
};
就功能和对象而言,这两个例子是等价的。所以不,调用分配给new
的对象属性的函数没有问题。您只需要参考该函数,无论您如何获得该参考。
你可以做到
var Environment = gameName.environment;
var A = new Environment();
如果你更喜欢这样,但这完全没必要。