【发布时间】:2012-10-10 16:30:53
【问题描述】:
我是原型结构的新手,我无法弄清楚这个结构。这是我的 JavaScript 代码。
var Game = function ()
{
//some variables
};
Game.prototype.block =
{
spawn: function () {
var t1 = new this.inst;
},
inst : {
x: 5,
y: 0,
type: ''
}
};
当我尝试创建一个新对象“inst”时,我收到以下错误: 类型错误:对象不是函数。我做错了什么?
【问题讨论】:
-
您的代码异常。你如何创建一个新的
inst对象?我看到的唯一inst已经是Game.prototype.block上的一个对象。new this.inst永远不会工作,因为inst不是一个函数。 -
假设我是大多数 JavaScript 和原型的完全菜鸟。我应该如何重组我的代码以使其有意义?
-
你想最终完成什么?
-
这是大量代码的简短摘录。我在“setInterval”中调用 spawn,我想创建一个“inst 对象”的新实例并操作它的属性。
-
如果你想创建继承自
inst对象的对象,你可以使用Object.create来实现,所以你可以使用var t1 = Object.create(this.inst);,假设你正在做类似var game = new Game(); game.block.spawn();的事情
标签: javascript object prototype typeerror