Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

296
Visualizações
¿Cuál es el comportamiento de las variables aquí, es decir, el cierre. La salida no está definida, lo que no entiendo.

¿Cuál es el comportamiento de las variables aquí, es decir, el cierre. La salida es "indefinida", lo que no entiendo.

 var x = 21; var test = function () { console.log(x); // output: undefined var x = 20; }; test();
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Javascript crea inicialmente un contexto de ejecución global y un nuevo contexto de ejecución cada vez que se inserta una función en la pila de llamadas. Esto sucede en dos fases: primero crea un entorno variable donde cada variable se almacena en un par clave, valor de nombre_variable: indefinido (mientras que las funciones se almacenan con las definiciones de funciones). Luego comienza a ejecutar el código línea por línea.

Si tuviera que recorrer este ejemplo: contexto de ejecución global: entorno variable {x: indefinido, prueba: definición de función para prueba}

Luego, el código se ejecuta línea por línea y 21 reemplaza undefined por el valor de x. Ahora se llama a la prueba, por lo que se crea un nuevo contexto de ejecución.

Contexto de ejecución de la prueba: { x: indefinido }

Ahora, cuando comienza a ejecutar el código, busca x dentro de este contexto de ejecución y ve que el valor no está definido y lo registra. Si x no estuviera presente en la prueba, habría mirado el contexto de ejecución del padre de la función, que resulta ser el contexto de ejecución global, y habría registrado 21.

Lea sobre el contexto de ejecución: https://www.javascripttutorial.net/javascript-execution-context/ Luego lea sobre el alcance léxico para comprender este comportamiento.

about 4 years ago · Juan Pablo Isaza Relatório

0

El motor Javascript explicará su código de esta manera:

 var x = 21; var test = function () { var x; console.log(x); // output: undefined x = 20; }; test();
about 4 years ago · Juan Pablo Isaza Relatório

0

Si olvida poner el parámetro en la prueba de función, el código debería ser así:

 var x = 21; var test = function (x) { //here u should put parameter "x" console.log(x); // The output from calling method var x = 20; //last "x" //if u want to get the value of last "x" should call console.log(x); // the value of of last "x" }; test(x); //here u should put parameter "x"

en código explico cada cosa 😉

Notas: - Las variables definidas con let no se pueden volver a declarar. Las variables definidas con let deben declararse antes de su uso. Variables definidas con let have Block Scope. Redeclarar una variable con let, en otro bloque, ESTÁ permitido pero con var No permitido

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda