【发布时间】:2013-09-10 16:55:24
【问题描述】:
假设您正在一个名为 Fetch 的 javascript 函数中执行以下操作。
function Fetch(context)
{
var request = $.ajax({...});
request.done(function(response)
{
// it looks like context is visible here and in Scope.
//
});
}
你能解释一下为什么在回调函数中上下文是可见的吗?
【问题讨论】:
-
上下文对 Fetch 方法中的所有内容都是可见的。
-
因为它是在你的 done 函数的父级中声明的。在 Fetch 函数中声明的任何 var 都可用于其中使用的任何函数。
-
因为闭包就是这样工作的。每个函数都可以访问在相同或更高范围内定义的变量。
标签: javascript jquery closures