【问题标题】:jquery - scope of function passed to $().grepjquery - 传递给 $().grep 的函数范围
【发布时间】:2009-02-19 21:00:13
【问题描述】:

以下示例中的“myFunction”似乎失去了作用域。

$().grep(myArray, myFunction)

这里,我的意思是它不再可以访问它定义的范围的“this”,并且“this”变成了窗口对象。谁能解释为什么会这样以及是否有一种方便的方法来保留 myFunction 的范围?这个 javascript 闭包的东西让我半途而废,但我正在努力解决它。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:
    $.grep(myArray, function(){
        return myFunction.apply(realScope, arguments);
    });
    

    将“realScope”替换为预期的范围 - 您想要作为 'this' 的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多