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

216
Vistas
No puedo hacer que la entrada en mi calculadora evalúe la suma

Acabo de empezar a aprender a codificar y actualmente estoy construyendo mi primera calculadora usando javascript. Funciona hasta que la entrada se proyecta en la pantalla al hacer clic en el botón y el botón de borrado 'C' borra la pantalla de entrada, sin embargo, sigo recibiendo un error de sintaxis cuando uso el botón '=" cuando intento evaluar y necesito ayuda, lo he intentado de varias maneras, pero tengo problemas al intentar usar screen.value.

 // Selecting elements const buttons = document.querySelectorAll(".btn"); let screen = document.getElementById("input"); //function to add input onto screen const addTo = function(e) { screen.value += e; }; for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", function() { // log click to a variable const input = buttons[i].value; // add clicked input to screen addTo(input); // make screeninput evaluate sum if (input === "=") { let equals = eval(screen.value); equals = screen.value; } else if (input === "C") { screen.value = " "; } }); }
 <h1>MY CALCULATOR</h1> <div id=c alc class="calc-container"> <div id=s creen class="input-container"> <input type=text name=d isplay id=i nput class="user-input" value="" /> </div> <div id="wrapper" class="button-container"> <input value="9" type=b utton class="btn" /> <input value="8" type=b utton class="btn" /> <input value="7" type=b utton class="btn" /> <input value="6" type=b utton class="btn" /> <input value="5" type=b utton class="btn" /> <input value="4" type=b utton class="btn" /> <input value="3" type=b utton class="btn" /> <input value="2" type=b utton class="btn" /> <input value="1" type=b utton class="btn" /> <input value="*" type=b utton class="btn" /> <input value="0" type=b utton class="btn" /> <input value="+" type=b utton class="btn" /> <input value="/" type=b utton class="btn" /> <input value="-" type=b utton class="btn" /> <input value="=" type=b utton class="btn equals"> <input value="." type=b utton class="btn" /> <input value="C" type=b utton class="btn" /> </div> </div>

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En el caso de = , está tratando de evaluar una expresión con = , por ejemplo, 10+2= . Que es una expresión inválida. Debe evitar that = from the eval declaración y ejecutar solo 10+2 .

Llame addTo solo si la entrada no es = y C para arreglar esto.

 // Selecting elements const buttons = document.querySelectorAll(".btn"); let screen = document.getElementById("input"); //function to add input onto screen const addTo = function (e) { screen.value += e; }; for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", function () { // log click to a variable const input = buttons[i].value; // make screeninput evaluate sum if (input === "=") { let equals = eval(screen.value); screen.value = equals; } else if (input === "C") { screen.value = " "; } else { // add clicked input to screen addTo(input); } }); }
 <h1>MY CALCULATOR</h1> <div id=calc class="calc-container"> <div id=screen class="input-container"> <input type=text name=display id=input class="user-input" value=""> </input> </div> <div id="wrapper" class="button-container"> <input value="9" type=button class="btn"></input> <input value="8" type=button class="btn"></input> <input value="7" type=button class="btn"></input> <input value="6" type=button class="btn"></input> <input value="5" type=button class="btn"></input> <input value="4" type=button class="btn"></input> <input value="3" type=button class="btn"></input> <input value="2" type=button class="btn"></input> <input value="1" type=button class="btn"></input> <input value="*" type=button class="btn"></input> <input value="0" type=button class="btn"></input> <input value="+" type=button class="btn"></input> <input value="/" type=button class="btn"></input> <input value="-" type=button class="btn"></input> <input value="=" type=button class="btn equals"></input> <input value="." type=button class="btn"></input> <input value="C" type=button class="btn"></input> </div> </div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debido a que haces eval(screen.value) .

Cuando llama a la función eval , su screen.value es 'xxxx=' .

Esto no está en la sintaxis de eval .

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