javascript事件循环问题

| 我想知道事件循环如何在javascript中工作, 我正在使用node.js,但我想同样的问题也适用于浏览器。 我有一些异步通话(例如
setTimeout
$.ajax
fs.readFile
) 不久之后,事件循环执行
callback
现在,当执行ѭ3时,幕后发生了什么? 它会在调用异步内容时恢复使用的堆栈吗? 在实践中,回调所在的上下文是什么? 以及它如何运作? 编辑:谢谢,我明白了。 仅仅是一个问题,事件如何循环“记住”回调的作用域?     
已邀请:
        JavaScript使用函数作用域,作用域规则在所有JS环境中都相同。正如Nican提到的那样,了解闭包对于了解当前范围内的可用内容很重要。 基本上,函数“记住”定义它的环境。因此,如果您使用内联匿名函数进行回调,它将可以访问其父函数可用的所有变量以及作为参数传递给它的任何内容。 有关JavaScript中的闭包和作用域的一些资源: 功能和功能范围@ MDC 结束关于JavaScript闭包的书 Stuart Langridge:JavaScript关闭的秘密,第1部分(视频) Stuart Langridge:JavaScript关闭的秘密,第2部分(视频) Stoyan Stefanov的书《面向对象的JavaScript》很好地解释了JavaScript的作用域以及函数的词法作用域的工作原理(请参阅第4章)。我会将本书推荐给任何对JS编程很认真的人。     
        菲利普·罗伯茨(Philip Roberts)创建了一个名为Javascript Loupe的好工具,可以帮助您了解javascript的调用堆栈/事件与循环/回调之间如何交互。在编辑器中编写一些javascript代码并尝试运行它。     

要回复问题请先登录注册