javascript中的事件循环模型

前端之家收集整理的这篇文章主要介绍了javascript中的事件循环模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基于: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop

在处理下一个事件之前,堆栈帧为空.那么为什么在下面的片段警报显示1而不是0,因为警报功能应该在回调之前运行

var a=0;
var b={};

$(b).on("event",function (){
  a++;
});

$(b).trigger("event");
alert(a);

http://jsfiddle.net/nxjhokL0/

谢谢!

解决方法

让我们忽略你在这里拥有jQuery事件而不是本机DOM事件的事实,因为这与本机DOM事件一起重现,因为dystroy已经显示in his comment问题.

简单地说MDN在这里有误导性.一般来说,该文章可以使用技术审查.

如果我们检查DOM Events specification本身:

Events may be dispatched either synchronously or asynchronously.

“在处理下一个事件之前,堆栈帧是空的.”在一般情况下是不正确的.它只发生在异步事件中.

猜你在找的JavaScript相关文章