在以下示例中,“ myFunction”似乎失去了作用域。
$().grep(myArray, myFunction)
通过这个,我的意思是说它不再有权访问定义它的作用域的“ this”,而“ this”成为窗口对象。任何人都可以解释这是为什么,以及是否有一种方便的方法来保留myFunction的范围?这个javascript封闭的东西半途而废,但是我想让它变得更容易。
最佳答案
$.grep(myArray, function(){
return myFunction.apply(realScope, arguments);
});
将“ realScope”替换为预期的范围,即“ this”的值。
关于javascript - jQuery-传递给$()。grep的函数范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/567131/