Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript promise jquery中的变量范围_Javascript_Jquery_Closures - Fatal编程技术网

Javascript promise jquery中的变量范围

Javascript promise jquery中的变量范围,javascript,jquery,closures,Javascript,Jquery,Closures,假设您正在一个名为Fetch的javascript函数中执行以下操作 function Fetch(context) { var request = $.ajax({...}); request.done(function(response) { // it looks like context is visible here and in Scope. // }); } 你能解释一下为什么上下文在回调函数中是可见的吗?context在Fetch中是本地的请求在

假设您正在一个名为Fetch的javascript函数中执行以下操作

function Fetch(context)
{
  var request = $.ajax({...});
  request.done(function(response)
  {
    // it looks like context is visible here and in Scope.
    //
  });
}


你能解释一下为什么上下文在回调函数中是可见的吗?

context
Fetch
中是本地的<代码>请求在
获取
中声明,因此
上下文
请求
中可用
上下文对获取方法中的所有内容都可见。因为它是在完成函数的父级中声明的。Fetch函数中声明的任何变量都可用于其中使用的任何函数,因为闭包就是这样工作的。每个函数都可以访问在相同或更高范围内定义的变量。