Вы объявили переменную gig
внутри области функции, которая передана в evaluate()
.Переменная видна для кода внутри функции, в которой она была объявлена, включая другие вложенные функции, определенные в той же области видимости, но она не видна для кода, который находится во внешних областях функций.
Чтобы решить эту проблему, объявите переменную var gig=[];
перед вызовом nightmare.goto(...
.
. Эта переменная помещается во внешнюю область видимости, где она будет видна всем более глубоко вложенным функциям.,Думайте о функциях как о панели одностороннего зеркального стекла.Вы можете видеть из функции, глядя на переменные во внешнем мире, но внешний мир не может заглянуть в вашу функцию, чтобы увидеть ее внутренние переменные.