Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
Modifique y escriba un valor html de entrada en javascript

Estoy trabajando en un proyecto de calculadora frontal pero realmente no entiendo un comportamiento extraño en Javascript. Este es mi guion:

 const keys = document.querySelectorAll(".number"); const screen = document.querySelector("#screen"); let number = screen.value; keys.forEach((key) => { key.addEventListener("click", (event) => { let refresh = (number += key.textContent).toString(); console.log(number); screen.value = refresh; }); });

Alguien me puede decir por qué si cambio esta línea

 screen.value = refresh;

Con este

 number = refresh;

mi valor en pantalla no se actualiza a pesar de que en mi consola se esta actualizando? ¿No son estos dos nombres diferentes para llamar a la misma cosa?

Gracias

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Esto se debe a que a las variables de cadena se les asigna un valor en lugar de una referencia. Esto significa que cuando llamas a let number = screen.value , solo establece el number en el valor que screen.value tiene en ese momento. Pero si cambias uno de ellos, el otro permanece igual.

Esto es cierto para tipos primitivos como números, cadenas y booleanos. Los objetos y las variables de matriz tienen referencias asignadas, lo que significa que cambiar el objeto a través de una variable se reflejará en todas las demás variables que apuntan al mismo objeto.

about 4 years ago · Juan Pablo Isaza Report

0

Esto se debe a que está utilizando esta línea:

 console.log(number);

Entonces, primero imprimirá la variable 'número' y luego actualizará el valor de esta variable, entonces este es el problema

si quieres resolver esto tienes que invertir el orden de las líneas algo como esto:

 screen.value = refresh; console.log(number);

Espero haber ayudado ;)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!