[ingresar]

Que es una Clausura?

  1. Que es una Clausura (Closure)?
  2. Variables y Valores
  3. Definiendo Funciones
  4. Efectos Secundarios
  5. Las Funciones son Valores
  6. Retornando Funciones
  7. Alcance de Función
  8. Funciones Anidadas
  9. Clausuras con Estado
  10. Datos Privados
  11. Callbacks Asincrónicos
  12. Pasando Continuación

Alcance de Función

Muchos lenguajes tiene alcance por bloque (block scope), lo que significa que una variable declarada al inicio de un bloque por ejemplo un if o un ciclo for son válidas dentro de ese bloque. JavaScript es un poco diferente, todas las variables tienen un alcance de función (function scope).

Esto significa que todas las variables declaradas en una función están disponibles en cualquier lugar de la functión. El siguiente ejemplo muestra como esto puede ser un poco sorpresivo.

La vaca se convirtió en "pegamento" cuando llamamos a f(2)? No, la vaca está a salvo en el código mas arriba porque la declaración var vaca dentro del bloque if aplica a toda la función. Esto significa que vaca es una variable local para toda la función.

Para satisfacer tus curiosidades morbosas de la especie bovina, en esta version realmente convierte la vaca en pegamento.

Por este tipo de comportamiento sorpresivo, cuando escribas una función deberías siempre declarar todas tus variables justo al inicio asi no te confundis. Un ejemplo que declara variables al inicio.

Definir una función llamada llamarFunc que reciba un argumento, una función f. Debe retornar un array con los valores f(0), f(0), f(1), f(1). Solo se puede llamar a f dos veces.

1:1

about noticias inicio