Javascript 数组中声明对象的函数未定义--否!不是吗?
这是我的密码:Javascript 数组中声明对象的函数未定义--否!不是吗?,javascript,runtime-error,undefined-function,Javascript,Runtime Error,Undefined Function,这是我的密码: function insertMonsters() { var monsterPositions = [2,8,13,15,22]; for ( var i in monsterPositions ) { monsters[i] = createMonster("monster",monsterPositions[i],1); document.getElementById(monsters[i].currentPosition).innerHTML = mo
function insertMonsters() {
var monsterPositions = [2,8,13,15,22];
for ( var i in monsterPositions ) {
monsters[i] = createMonster("monster",monsterPositions[i],1);
document.getElementById(monsters[i].currentPosition).innerHTML = monsters[i].displayText;
}
}
function createMonster(name,startingPoint,level){
this.displayText = "<span>" + name + "</span>";
this.currentPosition = startingPoint;
this.level = level;
this.health = function(){ return 25 + ( this.level * 15 );};
this.strength = function(){return ( this.level * 3 );};
}
我真的不知道出了什么问题,请帮帮我。它看起来像是未定义的
怪物,而不是createMonster。确保初始化怪物
阵列,您应该可以
你可以把第7行改为
var monsters = [];
设置怪物时,您还缺少一个new
语句
你需要
monsters[i] = new createMonster("monster",monsterPositions[i],1);
它看起来像是未定义的怪物
,而不是创建的怪物。确保初始化怪物
阵列,您应该可以
你可以把第7行改为
var monsters = [];
设置怪物时,您还缺少一个new
语句
你需要
monsters[i] = new createMonster("monster",monsterPositions[i],1);
我之前确实定义了它,我只是没有包括我的全部代码,无论如何这不会是一个错误,当我想要一个全局变量时,它只会给我一个局部变量。它没有在你链接到的代码中初始化。这就是我在那里看到的错误。当我加载页面时,怪物没有定义,并在Chrome的控制台日志中抛出一个错误script@php_nub_qq因为它创建了一个对象,就像编写object()
而不是newobject()
@php\u nub\u qq一样,Javascript并没有区分构造函数和“普通函数”新功能可以用于任何功能。它只是创建一个新对象并将该对象绑定到函数(以便函数中的this
指向新对象)。由于createMonster函数正在对其执行操作,并且没有返回任何内容,因此我假设它将用作new
的构造函数,我之前确实定义了它,我只是没有包含我的全部代码,无论如何,这不会是一个错误,当我想要一个全局变量时,它只会给我一个局部变量。它不会在你链接到的代码中初始化。这就是我在那里看到的错误。当我加载页面时,怪物没有定义,并在Chrome的控制台日志中抛出一个错误script@php_nub_qq因为它创建了一个对象,就像编写object()
而不是newobject()
@php\u nub\u qq一样,Javascript并没有区分构造函数和“普通函数”新功能可以用于任何功能。它只是创建一个新对象并将该对象绑定到函数(以便函数中的this
指向新对象)。由于createMonster函数正在对其执行操作,并且不返回任何内容,我以为它是用来作为new
@BrianMayer的构造函数的,我之前做的只是没有把我的整个程序放在这里谢谢思想提示:不要用for..in
循环数组,而是一个常规的for
循环。@php\u nub\u qq没有完全理解,但我现在正在尝试…@php\u nub\u qq…仍然没有任何线索知道发生了什么onDisregard我的评论。仍然looking@BrianMayer我之前做的只是没有把我的整个程序放在这里谢谢思想提示:不要用for..in
循环数组,而是一个常规的for
循环。@php\u nub\u qq没有完全理解,但我现在正在尝试…@php\u nub\u qq…仍然没有任何线索显示我的评论。还在看