setTimeout在SpiderMonkey中不起作用

时间:2014-06-21 17:23:44

标签: javascript mozilla spidermonkey

我已经通过跟随this在mac上构建了spidermonkey。在build-release / dist / bin下,可执行文件是js24而不是js(符合this)。

然而,当我使用js24运行shell时,像1 + 2这样的表达式正在运行,但是当我尝试像setTimeout(function(){},500这样的东西时,我得到了,

ReferenceError: setTimeout is not defined

我做错了什么?我认为行为与节点shell相同。

1 个答案:

答案 0 :(得分:2)

将评论中的优秀答案保存为实际答案,以便将此问题标记为已回答。

setTimeout不是JavaScript语言的一部分,它是浏览器window对象的一部分,它是网页JavaScript代码的全局对象:https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout

node.js有一个类似的API:http://nodejs.org/docs/latest/api/timers.html#timers_settimeout_callback_delay_arg

要在SpiderMonkey中实现setTimeout,您可以使用以下代码: https://gist.github.com/kevinoid/3146420