JS:你的函数不是一个函数!TypeError
JS: Your function is not a function! TypeError
我有一款小型RTS游戏,玩家可以攻击怪物。我希望它的设置,当游戏加载或开始时,strike()
功能将在3秒后触发。然而,当我运行下面的代码时,我得到一个类型错误,"strike()"不是一个函数。如果它不是一个函数,那么它是什么?
如果你想知道player.cc
是什么意思,它代表当前字符。剩下的只是参考我在游戏中的平衡表。
dom.el("strike").onclick = function strike() {
HitCalc(player.cc, monster.cc);
actor.expCounter(player.cc);
actor.balanceCounter(player.cc, monster.cc);
};
setTimeout(strike(), 3000);
可能有帮助的附加代码:
dom = {
el: function (id){
return document.getElementById(id);
},
HTML: <button id="strike" type="button" class="buttons">Strike</button>
当您认为将名称分配给事件处理程序的函数仍然被提升并在当前作用域中声明时,您在这一点上是错误的:它仍然是一个像任何匿名内联函数一样分配给属性的函数。
你需要的是:
function strike() {
HitCalc(player.cc, monster.cc);
actor.expCounter(player.cc);
actor.balanceCounter(player.cc, monster.cc);
};
dom.el("strike").onclick = strike;
// Note that setTimeout expects a reference to the function rather than
// a function call!!
setTimeout(strike, 3000);
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么