lucee 5.x ListEach似乎无法访问本地var范围?

HPW*_*PWD 4 coldfusion lucee

我似乎无法访问localListEach中的范围:

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
});
Run Code Online (Sandbox Code Playgroud)

当我尝试访问local.woCoreID时,我收到一条错误消息key [woCoreID] doesn't exist.为什么当我可以在ListEach之前转储它并且我看到值存在时.我在这里错过了什么?

我正在使用Lucee 5.x.

Tom*_*lak 7

每个function都有自己的local范围.如果您想要外部范围,则必须引用它:

var outerLocal = local;

ListEach(local.__userSuppliedWorkoutTagList, function (item) {
    writeDump(item);
    writeDump(outerLocal.woCoreID);
});
Run Code Online (Sandbox Code Playgroud)

或使用常规的计数for循环而不是ListEach()+ function.