Soy nuevo en JavaScript y estoy un poco confundido acerca de lo que estoy haciendo mal. Para esta tarea, necesito crear 4 botones en HTML que llamen a las siguientes funciones, como sumar, restar, multiplicar y dividir. Se supone que debo pedirle al usuario que ingrese dos números y luego lo calculará.
Descubrí cómo hacer un botón para agregar, pero por alguna razón tengo problemas para crear los otros botones para - * /. Tampoco estoy seguro de por qué no realiza un seguimiento de los cálculos de los botones de resta, etc. Estoy un poco confundido sobre cómo crear múltiples funciones y botones en un solo programa.
function add() { var num1, num2, num3; numAdd1 = parseInt(prompt("Enter First Number:")); numAdd2 = parseInt(prompt("Enter Second Number:")); numAdd3 = numAdd1 + numAdd2 resultAdd = "Result is " + String(numAdd3) //document.write(numAdd3 + "<br>") document.getElementById("result").innerHTML = resultAdd; } function sub() { var sub1, sub2, sub3; sub1 = parseInt(prompt("Enter First Number:")); sub2 = parseInt(prompt("Enter Second Number:")); sub3 = sub1 - sub2 result2 = "result is : " + String(numSub3) //document.write(Sub3 + "<br>") document.getElementById("result2").innerHTML = result2; } <button onclick="add()">Press to Add</button> <p id="result">Result:</p> <button onclick="sub()">Press to Subtract</button> <p id="result2">Result:</p> <button onclick="Multiply()">Press to Multiply</button> <p id="result">Result:</p> <button onclick="Divide()">Press to Divide</button> <p id="result2">Result:</p>Como que cometiste un error tipográfico. Al final de la "asignación" de la variable result2 (que significa establecer el valor de la variable), y usó el nombre incorrecto para la variable. numSub3 debe ser sub3 .
result2 = "result is : " + String(sub3);Bienvenido, y buena suerte con la tarea. ¡Buen comienzo!
Recomendaría usar elementos de input para sus entradas numéricas, como he mostrado en este ejemplo parcial. Además, asegúrese de buscar coherencia en la denominación de las variables y el diseño general del código. Cuanto antes desarrolles esos hábitos, mejor.
¡Y desafíate a ti mismo para agregar algunas campanas y silbatos!
function run(operator) { const values = getValues(); const result = calculate(values.left, values.right, operator); writeResult(result); } function calculate(left, right, operator) { if (operator === '+') { return left + right; } if (operator === '-') { return left - right; } /* add rest of operations... */ throw Error('Invalid operator passed in'); } function getValues() { return { left: +document.getElementById('left').value, right: +document.getElementById('right').value, } } function writeResult(result) { document.getElementById('result').innerText = result; } <input type="number" id="left" /> <input type="number" id="right" /> <br/> <button onclick="run('+')">Add</button> <button onclick="run('-')">Subtract</button> ...more buttons <div id="result"></div>