Una función local en el cierre declara una variable con el mismo nombre que existe en el cierre. Entonces, ¿cómo podríamos acceder a la variable de cierre desde la función local?Distinguir cierre y variables locales
function closure()
{
var xVar;
function func1()
{
var xVar;
// how to distinguish local and closure scopes.
return xVar;
}
return function() { return func1(); };
}
Crear un objeto privado y hacer variables privadas como propiedades de este objeto podría ayudar. Pero me pregunto si hay una solución mejor y ordenada. ¿Puede una cadena de alcance ayudar?
He editado para que sea un cierre completo. De todos modos, los cierres no son una gran preocupación aquí, podría considerarse para funciones internas, sin embargo, puede haber una solución con cierres de alguna manera.
Gracias
Creo que él sabe eso. La pregunta es, desde el código dentro de "func1" ¿cómo se referiría explícitamente al "xVar" definido en "cierre" (y no al "xVar" definido en "func1")? – Pointy
Respondí eso en mi primer párrafo. –