在这个Udacity游戏开发视频中,讲师提到Javascript允许我们通过给出其定义的句柄来创建对象。然后,它说为了实现这一点,“重载的对象定义将使用指向其类定义的指针更新哈希表”。我很清楚什么是哈希表、指针、重载方法和工厂模式,但我无法理解这个神秘的陈述或其他解释。
var typeConstructor = gGameEngine.factory(tileSpec.type),
instance;
if (typeConstructor) {
instance = new(typeConstructor)(tileSpec /* or whatever params */);
}
var someClass = function () {
// stuff
}
var containingObject = {};
containingObject["someClass"] = someClass;
// same thing as
containingObject.someClass = someClass;
containingObject
属性来实例化该类。var classInstance = new containingObject["someClass"]()
// or
var classInstance = new containingObject.someClass()
new(typeConstructor)
和new typeConstructor
是等价的吗?这种语法有一个名称吗?我以前没见过。 - Federico