I had SO 中关于 setTimeout() 的另一个问题 https://stackoverflow.com/questions/8821765/settimeout-on-recursive-function-within-a-self-invoking-function,其中一位用户提到如果函数参数是一个字符串,它将在全局范围内进行计算,否则它不会。这令人大开眼界,所以我试图找到有关 setTimeout 实际工作原理的更多信息,但它不是 EcmaScript 规范的一部分,甚至 MDN 也没有我在 SO 中找到的特定信息。
有没有一些关于如何的好的参考setTimeout()
works?
setTimeout
这些并不在 ECMAScript 规范中,因为它们不是 JavaScript 功能。它们是浏览器环境的功能window
目的。其他环境(Windows Scripting Host、NodeJS 等)不一定具有这些功能。
W3C 一直在努力标准化window
对象及其各种特征(包括setTimeout
), 最新的是 HTML5 规范的计时器部分 http://www.w3.org/TR/html5/webappapis.html#timers。其中很多内容都在编纂浏览器已经做的事情,尽管其中一些(比如最小间隔值必须是4
[毫秒]) 似乎(对我来说)对于 API 规范来说是不合适的,并且实现似乎是自己决定的(in tests http://jsbin.com/aREWitER/1,您可以看到当前的浏览器很高兴地执行更短的间隔,但 Opera 显然是个例外,它似乎按照规范进行操作)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)