coldfusion - lucee 5.x ListEach 似乎无法访问本地 var 范围?
问题描述
我似乎无法访问local
我的 ListEach 中的范围:
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
解决方案
每个function
都有自己的local
范围。如果您想要外部范围,则必须对其进行引用:
var outerLocal = local;
ListEach(local.__userSuppliedWorkoutTagList, function (item) {
writeDump(item);
writeDump(outerLocal.woCoreID);
});
或使用常规的计数for
循环而不是ListEach()
+ function
。
推荐阅读
- reactjs - Reactjs useState 不改变布尔状态,也不在点击时渲染子组件
- python - 在 Python 中将新数据行添加到 DataFrame 的最有效/最快的方法是什么
- linux - 读取用户输入时禁止显示错误消息
- apache-spark - Databricks 架构执行问题
- javascript - 切换 html 按钮,具体取决于 textarea 是填充还是空
- r - Rstudio - corrplot 突出显示图中的高相关值
- ansible - 如何使用 ansible playbook 从 ansible_facts 显示特定格式?
- flutter - Flutter Horizontal ListView - 如何“跳转”选定的索引
- r - 在 R 中汇总时如何跳过字符列?
- python - Python.h:没有安装 python36-devel 的此类文件或目录