Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Var y elevación
  1. Mi primera pregunta: javascript toma declaraciones y las coloca en la parte superior del código de la función debido a la elevación antes de que se ejecute cualquier código, quiero saber que en esta situación que expuse a continuación, hay dos variables declaradas que están escritas así var a, a; ? debido a izar en la parte superior del código de función? si es así, por qué no estoy accediendo a la segunda variable a antes de la inicialización, por qué estoy accediendo a la primera variable a después de la inicialización, en resumen, en la línea 4 del código de función console.log (a) // 10 cómo javascript decide dar 10 y no indefinido, Tenga en cuenta que hay dos variables declaradas con el mismo nombre en la parte superior.

  2. Mi segunda pregunta: es posible cuando javascript escanea el código y encuentra 2 variables con el mismo nombre y elimina una variable y usa otra en la ejecución del código.

     function myFunc() { console.log(a); var a = 10; console.log(a); var a = 20; console.log(a); } myFunc();
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Pregunta 1: "¿Se declaran dos variables cuando se escriben así:

 var a, a;

Respuesta 1: no.

El código fuente de JavaScript se escanea antes de la ejecución y, en modo descuidado , cualquier cantidad de declaraciones del mismo identificador (' a ' en este caso) como una variable que usa la palabra clave var se fusionan y se elevan como una sola declaración de variable en la parte superior de la función (o elemento de secuencia de comandos en el caso de variables de nivel superior en un archivo de secuencia de comandos o elemento en línea).

Las funciones con nombre declaradas con la palabra clave function también se elevan a la parte superior de una función o elemento de script adjunto con algunas diferencias:

  • Las funciones elevadas se compilan cuando se elevan y se pueden llamar antes de que aparezcan en el código fuente.
  • Declarar una función con el mismo nombre que una función anterior declarada en el mismo ámbito reemplaza la declaración anterior. Solo se izará el código de la última función con el mismo nombre en el mismo ámbito.

Pregunta 2 ¿Es posible que cuando el motor Javascript escanea el código y encuentra 2 variables con el mismo nombre, elimine una variable y use la otra en la ejecución del código?

Respuesta 2: Sí

Para repetirlo un poco, el motor de JavaScript no encuentra dos variables, encuentra dos declaraciones de variables que, cuando se elevan, solo dan como resultado un enlace único del nombre de la variable a donde está almacenado en la memoria, lo que significa que solo se crea una variable.

about 4 years ago · Juan Pablo Isaza Denunciar

0

  • Las declaraciones de var se elevan a la parte superior de la función.
  • Las declaraciones duplicadas no tienen efecto.
  • Las declaraciones de var se manejan por separado de las asignaciones.

Su código es esencialmente el mismo que:

 function myFunc() { var a; // Declaration is hoisted console.log(a); a = 10; // Assignment is not console.log(a); a = 20; // Second assignment is also not console.log(a); }

var es claramente poco intuitivo, por lo que el código moderno lo evita a favor de const y, ocasionalmente, let .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda