Coldfusion lucee 5.x Listach不';似乎无法访问本地var范围?

Coldfusion lucee 5.x Listach不';似乎无法访问本地var范围?,coldfusion,lucee,Coldfusion,Lucee,我似乎无法访问我的ListAch中的本地范围: writeDump(local.woCoreID); // outputs expected values // LOOP OVER LIST AND SEPARATE TEXT FROM INTEGERS ListEach(local.__userSuppliedWorkoutTagList, function (item) { writeDump(item) // outputs expected values writeD

我似乎无法访问我的ListAch中的
本地
范围:

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
});
当我尝试访问local.woCoreID时,会收到一条错误消息,
键[woCoreID]不存在
。为什么我可以在ListEach之前转储它,并且我看到值在那里。我错过了什么


我使用的是Lucee 5.x,每个
函数都有自己的
本地范围。如果您想访问外部范围,则必须对其进行引用:

var outerLocal = local;

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

或者对
循环使用常规计数的
,而不是
listach()
+
函数

此循环。但我还要提醒的是,这也使得
ListEach()
中的匿名函数依赖于外部作用域(可以在函数外部轻松更改,并给出意外的输出)。就我个人而言,我尽量使我的功能保持独立。如果我在函数中需要它,那么我显式地将它发送到那里。我继续使用经过验证的
FOR
循环,它解决了这个问题。直到最近我才意识到Listach,所以我想试试。很明显,我需要多读一读。