以下示例中的“myFunction”似乎失去了其范围。
$().grep(myArray, myFunction)
通过这个,我的意思是它不再能够访问它所定义的范围的“this”,并且“this”成为窗口对象。任何人都可以解释为什么这样,如果有一个方便的方法来保持myFunction的范围?这个javascript关闭的东西中途我的头脑,但我正在努力使用它。
答案 0 :(得分:2)
$.grep(myArray, function(){
return myFunction.apply(realScope, arguments);
});
将“realScope”替换为预期范围 - 您想要的是“this”的值。