下面是一些示例代码的链接。Javascript超时对象究竟是什么?
我认为,直到我开始测试,一个setTimeout()
的返回值将是某种浏览器的对象。
实际上它似乎是一个简单的整数。我也相信,将返回值setTimeout
分配给全局变量意味着只能有一个这样的对象。但是,如果您看到如果多次单击“启动计时器”按钮,则可能会同时运行多个计时器。
例如
- 我点击开始按钮
- 脚本创建一个超时
- 是
timeout 1
,由于火在五秒钟 - 一秒钟后,我又和现在点击有一个
timeout 2
- 现在我有
timeout 1
由于在四秒钟的火灾和timeout 2
在五秒 - 我点击停止按钮,只
timeout 2
被清除
用户点击创建多个计时器的问题可以通过设置之前,总是清除当前的超时VAR来解决。但我真的很想理解Javascript在这里做的实际操作。
“但我真的很想理解Javascript在这里做的实际操作。” ---你已经在你的“例如”列表中解释它 – zerkms
返回值有点像一个计时器ID。要停止一个特定的定时器,你运行'clearTimeout(id)'。 – Blender
来自[MDN](https://developer.mozilla.org/en-US/docs/DOM/window.setTimeout)*“timeoutID是超时的数字ID,稍后可以在窗口中使用。当你将它分配给相同的全局变量时,你只是覆盖值 – Phil