function Test(){
this.update = function(entity){
entity.forEach(function(enemy) {
this.checkHit(enemy);
});
}
this.checkHit = function(entity){
console.log("worked!");
}
}
如何调用Test的this.checkHit函数,并在实体的foreach循环中传递当前值?
当前代码给出“this.checkHit”不是函数。
答案 0 :(得分:3)
如果你不关心旧的浏览器 - 自从你使用forEach
以来就是这种情况 - 你可以使用bind
(我也假设你正在做{{1}某处):
new Test()
答案 1 :(得分:0)
只需将this
放入正常变量即可。 self
是常用的
function Test(){
var self = this;
this.update = function(entity){
entity.forEach(function(enemy) {
self.checkHit(enemy);
});
}
this.checkHit = function(entity){
console.log("worked!");
}
}