首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2048年蛮力,用setInterval变傻

2048年蛮力,用setInterval变傻
EN

Stack Overflow用户
提问于 2014-04-18 20:38:07
回答 3查看 97关注 0票数 0

这个游戏,2048,太上瘾了。我需要自动播放它。我的setInterval有问题,因为它只启动我的函数一次。谢谢你的帮助。

代码语言:javascript
复制
var game = $('.game-container');

function fire(el)
{   
    var moves = [37,38,39,40]
    var key = moves[Math.floor(Math.random()*moves.length)];
    if(document.createEventObject)
    {
        var eventObj = document.createEventObject();
        eventObj.keyCode = key;
        el.fireEvent("onkeydown", eventObj);  
    }else if(document.createEvent)
    {
        var eventObj = document.createEvent("Events");
        eventObj.initEvent("keydown", true, true);
        eventObj.which = key;
        el.dispatchEvent(eventObj);
    }
}

window.setInterval(fire(game),100);

它似乎只运行了一次函数,然后我在控制台中得到:Application Cache NoUpdate event

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-18 20:41:15

setInterval()接受一个字符串或函数变量:

代码语言:javascript
复制
// string syntax (NOT RECOMMENDED)
// passes "fire(game)" to eval() every 100ms.
// executes in the global scope, which is a potential scope change. thus,
// has the potential to "lose" its reference to your `fire` and `game` variables.
setInterval("fire(game)", 100);

// function-passing syntax (PREFERRED)
// executes the [anonymous] function every 100ms.
// holds onto the in-scope `fire` and `game` objects.
setInterval(function() { fire(game); }, 100);

这样做:

代码语言:javascript
复制
setInterval(fire(game), 100);

..。将调用fire(game)并将返回值传递给setInterval。如果fire(game)返回一个function,这将是有意义的。(或者是string,它可能是eval()d,但我建议你不要这么做!)

票数 4
EN

Stack Overflow用户

发布于 2014-04-18 20:39:40

在最后一行中调用fire,而不是实际设置间隔。

fire(game)不返回任何东西,所以它不会传递给setInterval任何回调。

票数 0
EN

Stack Overflow用户

发布于 2014-04-18 20:40:49

这个

代码语言:javascript
复制
fire(game)

setInterval中,实际上将调用该函数,setInterval将永远不会执行任何函数。

试一试

代码语言:javascript
复制
setInterval(function(){fire(game)},100);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23161927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档