programador Prema (Galego)

function outerFun()
{
var a=0;
function innerFun()
{
a++;
alert(a);
}
}
innerFun()

O código anterior está mal. O alcance de Innerfun () está dentro de Furtfun (), e chámao fóra de Furtfun () está mal.
Cambiar ao seguinte, que é o peche:

function outerFun()
{
var a=0;
function innerFun()
{
a++;
alert(a);
}
return innerFun; // nota aquí
}
var obj=outerFun();
obj (); // el resultado es 1
obj (); // El resultado es 2
var obj2=outerFun();
obj2 (); // el resultado es 1
obj2 (); // El resultado es 2

> Que é un peche?
Cando se fai a referencia a unha función interna fóra do alcance, créase un peche da función interna. Se a función interna refírese a unha variable situada nunha función externa, estas variables non se almacenarán na memoria despois de que se chame a función externa. Liberar porque os peche necesitan.
—————————————- ————————————————– ————–
Vexamos outro exemplo.

O resultado é 0.4. Debido a que a palabra clave var úsase dentro da función de manter o rango dun outfun interno ().
Ver o seguinte código de novo:

function outerFun()
{
// no var
a =0;
alert(a);
}
var a=4;
outerFun();
alert(a);

resultado é 0 , 0 é raro, por que?
A cadea de alcance é un termo que describe unha ruta pola que se pode determinar o valor dunha variable. Cando se realiza en = 0, porque a palabra clave var non se usa, a operación de asignación seguirá a cadea de intervalo para var a = 4; E cambia o seu valor.

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *