如何获取匿名函数调用中的外循环索引?

帕万·皮莱

我有以下javascript代码:

var Person = [['John', 0, 0, 0],['Chris', 1, 0, 0]];
for (i = 0; i < Person.length; i++ )
{
    someObj.myMethod(Person[i][0], function (object) {
        console.log(i); //this prints 2, I want 0 and 1 as per the loop

        //here I want to access other members of Person[i] array, like Person[i][1], Person[i][2] and Person[i][3]
        //but these console.log() print 'undefined' because i = 2 !!
        console.log(Person[i][1]);
        console.log(Person[i][2]);
        console.log(Person[i][3]);
    });
}

在mymyMethod()内部调用的匿名函数中,i的值为“ 2”。请建议如何在for循环的第一个循环中让i = 0,然后在第二个循环中使i = 0。

埃德加·维尔加斯·阿尔瓦拉多

使用闭包,这是一个解决方案:

var Person = [['John', 0, 0, 0],['Chris', 1, 0, 0]];
for (x = 0; x < Person.length; x++ )
{
    (function(i){   //We add a closure
        someObj.myMethod(Person[i][0], function (object) {
          console.log(i);
          console.log(Person[i][1]);
          console.log(Person[i][2]);
          console.log(Person[i][3]);
      });
    })(x);      //Call the closure function with the value of the counter
}

我更改了原始计数器以x使其更易于理解(因此您不要将该变量与原始计数器混淆i),但是如果它也保持命名i,它也将起作用。

这样,每个循环周期都有其自己的变量xnot shared),因此它不会被for循环所覆盖,for循环会导致问题(ishared):)

干杯

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在匿名函数中如何调用函数

来自分类Dev

了解ready中的匿名函数如何被调用

来自分类Dev

如何从Scala的匿名函数中获取价值?

来自分类Dev

从每个循环的javascript匿名函数中获取回报

来自分类Dev

如何在javascript匿名函数中调用类释放函数

来自分类Dev

方案-如何循环匿名函数?

来自分类Dev

如何从WoW插件中的Frame调用匿名函数?

来自分类Dev

如何在jQuery中的匿名函数中获取变量?

来自分类Dev

如何在jQuery中的匿名函数中获取变量?

来自分类Dev

如何从在ForEach循环内部调用的函数中获取PowerShell错误详细信息

来自分类Dev

在匿名函数中调用react函数

来自分类Dev

如何使用外循环索引的索引作为R中增量的基础来实现带内循环的嵌套循环?

来自分类Dev

如何在bash中调用函数外的变量?

来自分类Dev

for循环错误中的JavaScript匿名函数

来自分类Dev

由Matlab中的循环定义的匿名函数

来自分类Dev

如何记录立即调用+匿名函数?

来自分类Dev

如何阻止直到调用匿名函数?

来自分类Dev

如何使锚标记的href调用匿名函数?

来自分类Dev

Python:增加循环和调用函数的索引

来自分类Dev

在嵌套的for循环中,如何访问Jinja模板中的外循环索引?

来自分类Dev

在嵌套的for循环中,如何访问Jinja模板中的外循环索引?

来自分类Dev

从Dart Code中调用匿名Javascript函数

来自分类Dev

匿名函数在Scheme中调用自身的机制?

来自分类Dev

Lua中自调用匿名函数的错误

来自分类Dev

Delphi 在匿名线程中调用函数?

来自分类Dev

在 map 方法中调用匿名函数

来自分类Dev

获取当前调用的函数以编写匿名递归函数

来自分类Dev

调用javascript函数并使用匿名函数获取返回值

来自分类Dev

如何在Rust中的for循环中获取当前元素的索引?

Related 相关文章

  1. 1

    在匿名函数中如何调用函数

  2. 2

    了解ready中的匿名函数如何被调用

  3. 3

    如何从Scala的匿名函数中获取价值?

  4. 4

    从每个循环的javascript匿名函数中获取回报

  5. 5

    如何在javascript匿名函数中调用类释放函数

  6. 6

    方案-如何循环匿名函数?

  7. 7

    如何从WoW插件中的Frame调用匿名函数?

  8. 8

    如何在jQuery中的匿名函数中获取变量?

  9. 9

    如何在jQuery中的匿名函数中获取变量?

  10. 10

    如何从在ForEach循环内部调用的函数中获取PowerShell错误详细信息

  11. 11

    在匿名函数中调用react函数

  12. 12

    如何使用外循环索引的索引作为R中增量的基础来实现带内循环的嵌套循环?

  13. 13

    如何在bash中调用函数外的变量?

  14. 14

    for循环错误中的JavaScript匿名函数

  15. 15

    由Matlab中的循环定义的匿名函数

  16. 16

    如何记录立即调用+匿名函数?

  17. 17

    如何阻止直到调用匿名函数?

  18. 18

    如何使锚标记的href调用匿名函数?

  19. 19

    Python:增加循环和调用函数的索引

  20. 20

    在嵌套的for循环中,如何访问Jinja模板中的外循环索引?

  21. 21

    在嵌套的for循环中,如何访问Jinja模板中的外循环索引?

  22. 22

    从Dart Code中调用匿名Javascript函数

  23. 23

    匿名函数在Scheme中调用自身的机制?

  24. 24

    Lua中自调用匿名函数的错误

  25. 25

    Delphi 在匿名线程中调用函数?

  26. 26

    在 map 方法中调用匿名函数

  27. 27

    获取当前调用的函数以编写匿名递归函数

  28. 28

    调用javascript函数并使用匿名函数获取返回值

  29. 29

    如何在Rust中的for循环中获取当前元素的索引?

热门标签

归档