代码之家  ›  专栏  ›  技术社区  ›  HPWD

Lucee5.xlisteach似乎无法访问本地var范围?

  •  4
  • HPWD  · 技术社区  · 6 年前

    我好像无法进入 local 我的列表范围:

    writeDump(local.woCoreID); // outputs expected values
    //  LOOP OVER LIST AND SEPARATE TEXT FROM INTEGERS
    ListEach(local.__userSuppliedWorkoutTagList, function (item) {
        writeDump(item) //  outputs expected values
        writeDump(local.woCoreID); // key [woCoreID] doesn't exist
    });
    

    key [woCoreID] doesn't exist . 为什么我可以在ListEach之前转储它,然后我看到值在那里。我错过了什么?

    我用的是Lucee5.x

    1 回复  |  直到 6 年前
        1
  •  7
  •   Tomalak    6 年前

    每个 function 有自己的 local 范围。如果你想 范围,则必须对其进行引用:

    var outerLocal = local;
    
    ListEach(local.__userSuppliedWorkoutTagList, function (item) {
        writeDump(item);
        writeDump(outerLocal.woCoreID);
    });
    

    for 循环而不是 ListEach() 功能 .

    推荐文章