adi*_*tya 39 javascript settimeout setinterval
两个问题:
如何计算返回的值setInterval和setTimeout(用于清除计时器的值)?
这两个函数是否可以在运行时返回相同的值?例如:
var a = setInterval(fn1, 1000);
var b = setTimeout(fn2, 1000);
是否有可能a与b具有相同的价值?
第一个问题更多是关于我的知识问题,但第二个更重要.
cgp*_*cgp 36
返回一个可用于取消计时器的值.因此,它们似乎不太可能返回相同的值(除非它们重用值并且其中一个定时器已被取消)
Mozilla声明它的DOM级别为0,但不是规范的一部分.(查看页面底部)
我有一个更好的参考:
Nabble说:
SetTimeout和setInterval来自原始的Javascript规范,ECMA之前.该规范在任何地方都没有正式标准化,但它受到所有Web浏览器和Javascript语言的大多数实现的支持.(包括ActionScript.)
ECMA之前的规范通常称为"DOM-0"API.由于它们之前从未被标准化,因此HTML5最终规定未弃用的API以尝试跨浏览器提供一致的环境是有意义的.特别是当最近的事件证明有些公司喜欢实施标准的信,而不是精神.
阅读这里的原始规范,或者从Sun(他是JavaScript的早期代言人)那里阅读.
Ale*_*ski 33
在Opera 9,Safari 3,Firefox 3和IE 7下进行了测试.
所有返回的整数值,从1开始,然后每次调用setTimeOut()和递增1 setInterval().但是,我注意到浏览器启动了计数器并以不同方式处理它们:
但请注意,在所有方案中,没有两个标识符(至少在同一选项卡中)是相同的.