【问题标题】:Variable Scope inside a promise jquery [duplicate]承诺jquery中的变量范围[重复]
【发布时间】: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


【解决方案1】:

contextFetch 的本地。 requestFetch 内部声明,因此contextrequest 内部可用

【讨论】:

    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    相关资源
    最近更新 更多