我不太确定这个问题的机制,但我试图将一个 setTimeout 设置为一个变量 ID,我可以使用 clearTimeout 轻松取消它。但是,如果 setTimeout 在 clearTimeout 之前被触发两次,事情就会变得古怪。
示例: http ://www.w3schools.com/js/tryit.asp?filename=tryjs_settimeout2
单击“Try It”两次,然后单击“Stop the Alert”两次,设置超时的功能仍然被调用。同样,我不确定为什么 Try It 会触发该函数两次,因为该事件被保存到一个被覆盖的变量中。
知道这里发生了什么吗?