我在Javascript中使用setTimeout玩耍。我很困惑它是如何工作的。我有以下代码:Javascript - 了解setTimeout
<input type="button" value='click'>
<script>
var input = document.getElementsByTagName('input')[0]
input.onclick = function() {
setTimeout(function() {
input.value +=' input'
}, 0)
}
document.body.onclick = function() {
input.value += ' body'
}
</script>
当我们点击的功能,它追加输入到按钮元素的文本体。我明白这是发生,因为第一父(体)事件被触发,并在一个时钟嘀哒,因为它是在事件队列推后执行子(输入)事件。
我现在尝试下面的代码:
var input = document.getElementsByTagName('input')[0]
document.body.onclick = function() {
setTimeout(function() {
input.value +=' body'
}, 0)
}
input.onclick = function() {
setTimeout(function() {
input.value +=' input'
}, 0)
}
这追加的文本输入机体的按钮元素。当两个超时设置为0时,它如何确定执行顺序?在这种情况下,他们按什么顺序推送到事件队列?谢谢。
它们按照它们的排定顺序执行。 – Bergi