lucee 5.x ListEach не может получить доступ к локальной области видимости var? - PullRequest
0 голосов
/ 19 сентября 2018

Мне не удается получить доступ к области действия 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

1 Ответ

0 голосов
/ 19 сентября 2018

Каждый function имеет свою собственную область действия local.Если вы хотите область external , вы должны сделать ссылку на нее:

var outerLocal = local;

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

или использовать обычный for цикл вместо ListEach() + function.

...