我似乎无法访问ListEach中的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
});
当我尝试访问local.woCoreID时,收到错误消息key [woCoreID] doesn't exist
。为什么当我可以将其转储到ListEach之前,并且看到值在那里时,为什么会这样呢?我在这里想念什么?
我正在使用Lucee 5.x
答案 0 :(得分:7)
每个function
都有自己的local
范围。如果要使用外部范围,则必须对其进行引用:
var outerLocal = local;
ListEach(local.__userSuppliedWorkoutTagList, function (item) {
writeDump(item);
writeDump(outerLocal.woCoreID);
});
或使用规则的计数的for
循环,而不是ListEach()
+ function
。