Локальная функция в замыкании объявляет переменную с тем же именем, которое существует в замыкании. Итак, как мы можем получить доступ к переменной закрытия из локальной функции?
function closure()
{
var xVar;
function func1()
{
var xVar;
// how to distinguish local and closure scopes.
return xVar;
}
return function () { return func1(); };
}
Может помочь создание частного объекта и создание частных переменных в качестве свойств этого объекта. Но мне интересно, есть ли лучшее и изящное решение. Может ли помочь цепочка областей видимости?
Я отредактировал, чтобы сделать его полным закрытием. В любом случае, замыкания здесь не вызывают особого беспокойства, это можно рассматривать для внутренних функций, однако, может быть каким-то образом решение с замыканиями.
Спасибо