Cómo escribir una calculadora sencilla usando JS
js part
var num=0, result=0, numshow="0";
var operator=0 //Marca para determinar el estado de la entrada;
var calcul=0; //Marca para determinar el estado del cálculo
var quit=0; //Marca para evitar pulsaciones repetidas de teclas
función comando(num) ) {
var str=String(document.calculator.numScreen.value); //Obtener los datos de visualización actuales
str=(str!="0") (( operar= =0)? str: ""): ""; //Si el valor actual no es "0" y el estado es 0, devuelve el valor actual; de lo contrario, devuelve un valor nulo
str=str String( num); //Agrega caracteres al valor actual
document.calculator.numScreen.value=str; //Actualiza la pantalla
operate=0; /Restablecer el estado de entrada
p>quit=0; //Restablecer el indicador para evitar pulsaciones repetidas de teclas
}
función dzero(){ p>
var str=String( document.calculator.numScreen.value);
str=(str!="0") ? ((operate==0) ? str "00" : "0") : "0"; //Si el valor actual no es "0" y el estado es 0, devuelve str "00", de lo contrario devuelve "0"; numScreen.value=str;
operar=0;
}
función punto(){
var str=String(documento .calculator.numScreen.value);
str=(str!="0") ? ((operate==0) ? str : "0") : "0"; el valor no es "0" y el estado es 0, luego devuelve el valor actual; de lo contrario, devuelve "0"
for(i=0; ilt;=str.length;i){ //Determinar; si ya existe un punto
if (str.substr(i, 1)==".") return false //Si lo hay, no más inserción
}
str=str ".";
p>document.calculator.numScreen.value=str;
operar=0; }
function del(){ //Retroceso
var str=String(document.calculator.numScreen.value
str=(str!=); "0") ? cadena: "";
cadena=cadena.substr(0, cadena.longitud-1);
cadena=(cadena!="") ? : "0";
documento.calculadora.
umScreen.value=str;
}
función clearscreen(){ //Borrar datos
num=0
resultado; 0;
numshow="0";
document.calculator.numScreen.value="0"; plus(){ //Adición
calculate(); //Llamar a la función de cálculo
operate=1 //Cambiar estado de entrada
calcul=1; //Cambiar el estado del cálculo a suma
}
función minus(){ //Resta
calcular()
operar; = 1;
calcular=2;
}
función veces(){ //Multiplicación
calcular(); p >
operar=1;
calcular=3;
}
función dividir(){ //división
calcular ();
operar=1
calcular=4;
}
función persist(){ //Buscar resto
calcular();
operar=1;
calcular=5
}
función igual ( ){
calcular(); //igual a
operar=1
num=0
resultado=0;
numshow="0"
}
//
función calcular(){
numshow= Number(document.calculator.numScreen.value);
if(num!=0 amp; amp; quit!=1){ //Determina si el operando anterior es cero y el estado de anti -presiones repetidas de teclas
switch(calcul){ //Determinar el estado de la entrada
caso 1: resultado=num numshow; //Calcular " "
caso 2: resultado=num-numshow; //Calcular "-"
caso 3: resultado=num*numshow;
caso 4: if(numshow! =0){ result=num/numshow;}else{document.getElementById("note").innerHTML="¡El dividendo no puede ser cero! "; setTimeout(clearnote, 4000)} break;
caso 5: resultado=numnumshow; break;
}
quit=1; //Evitar duplicación Clave
}
else{
result=numshow
}
numshow=String(resultado);
document.calculator.numScreen.value=numshow;
num=resultado; //Almacenamiento valor actual
p> p>
}
función clearnote(){ //Borrar el mensaje
document.getElementById("note").innerHTML=""
;}
parte html:
lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "blogs.com/imyeah/" target=" _blank"gt;¡Sí!lt;/agt;lt;/spangt;lt;h6gt;Calculadora simplelt;/h6gt;lt;/divgt;
lt;form name=" calculadora" action="" método="get"gt;
lt; div id="calcu-screen"gt;
lt;!--Configure la ventana de visualización, use onfocus ="this.blur();"Evitar la entrada del teclado--gt
lt; input type="text" name="numScreen" class="screen" value="0" onfocus=" este .blur(); " /gt;
lt; /divgt;
lt; div id="calcu-btn"gt;
lt; ulgt ; lt;!--Botón de configuración--gt;
lt; li onclick="command(7)"gt;/ligt; " comando(8)"gt;8lt;/ligt;
lt;li onclick="comando(9)"gt;9lt;/ligt;
lt;li class= " herramienta" onclick="del()"gt; ←lt;/ligt;
lt;li class="herramienta" onclick="clearscreen()"gt;Clt;/ligt; >
lt;li onclick="comando(4)"gt;4lt;/ligt
lt;li onclick="comando(5)"gt;5lt;/ligt; >
lt;li onclick="command(6)"gt;6lt;/ligt
lt;li class="herramienta" onclick="times()"gt;×lt;/ ligt
lt;li class="herramienta" onclick="divide()"gt;÷lt;/ligt;
lt;li onclick="comando(1)" gt ;1lt;/ligt;
lt;li onclick="comando(2)"gt;2lt;/ligt;
lt;li onclick="comando(3)" gt ;3lt;/ligt;
l
t; li class="herramienta" onclick="plus()"gt;/ligt;
lt; li class="herramienta" onclick="minus()"gt; ligero
lt;li onclick="command(0)"gt;0lt;/ligt;
lt;li onclick="dzero()"gt;00lt;/ligt;
lt;li onclick="dot()"gt;.lt;/ligt
lt;li class="herramienta" onclick="persent()"gt; lt;/ligt;
lt;li class="herramienta" onclick="equal()"gt;=lt;/ligt; >
lt;/divgt;
lt;div id="calcu-foot"gt;
lt;span id="nota"gt;lt;/spangt;
lt;span class="welcome"gt;¡Bienvenido a la calculadora javascript! lt;a href="blogs.com/imyeah" target="_blank"gt;Feedbacklt;/agt;lt;/spangt;
lt;/divgt
lt; /formgt;
lt;/divgt;
lt;/bodygt;/p>
lt;/htmlgt;