【发布时间】:2014-10-10 01:21:14
【问题描述】:
我在理解 Javascript 事件循环和代码执行方面存在问题。
例如,我有一个非常基本的 jQuery 函数,例如:
$(document).ready(function()
{
$('#button').on('click', function() {
alert("This is a test");
});
当调用 jQuery 函数时,有人可以向我解释一下吗?
如果页面被加载会发生什么,.ready() 函数是否被放入消息队列并在函数的回调被触发时被传递到事件循环? (在这种情况下,回调将是完成加载的页面?)
【问题讨论】:
-
参见developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop: “在网络浏览器中,任何时候发生事件并附加一个事件侦听器都会添加消息。如果没有侦听器,则该事件丢失。因此,使用 click 事件处理程序单击元素将添加一条消息 - 与任何其他事件一样。” 就绪回调只是另一个事件处理程序。
-
什么消息队列?您所说的 回调函数 是一个函数。为什么你认为它是“加载页面”??
-
@TJ:查看我发布的链接。
-
精彩的视频解释了堆栈、事件循环等事件youtube.com/watch?v=8aGhZQkoFbQ
标签: javascript jquery message-queue jquery-events event-loop