求用js编写一个简单的计算器,我都不懂怎么声明变量还有调用那些按钮,比如加减乘除,还有,那个文本框怎么接收那些按钮上的1、2、3等数字

解决方案 »

  1.   

    <html>
    <body>
          <form name=Keypad action="">
          <table border=1 >
            <tr>
              <td align=middle colSpan=4><input class=text_input size=30 value=0 
                name=ReadOut width="100%"> </td>
              <td width=0></td>
              <td width=50><input class=Button onclick=Clear() type=button value=" C " name=btnClear> 
              </td>
              <td><input class=Button onclick=ClearEntry() type=button value=" CE " name=btnClearEntry2> 
              </td></tr>
            <tr>
              <td width=50><input class=Button onclick=NumPressed(7) type=button value=" 7 " name=btnSeven> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(8) type=button value=" 8 " name=btnEight> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(9) type=button value=" 9 " name=btnNine> 
              </td>
              <td width=50><input class=Button onclick=hexchange() type=button value=HEX name=btnHex> 
              </td>
              <td width=0></td>
              <td width=50><input class=Button onclick=Neg() type=button value=" +/- " name=btnNeg> 
              </td>
              <td><input class=Button onclick=Percent() type=button value=" % " name=btnPercent> 
              </td></tr>
            <tr>
              <td width=50><input class=Button onclick=NumPressed(4) type=button value=" 4 " name=btnFour> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(5) type=button value=" 5 " name=btnFive> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(6) type=button value=" 6 " name=btnSix> 
              </td>
              <td width=50><input class=Button onclick=octchange() type=button value=OCT name=btnClearEntry222> 
              </td>
              <td width=0></td>
              <td align=middle width=50><input class=Button onClick="Operation('+')" type=button value=" + " name=btnPlus> 
              </td>
              <td align=middle>
                <P align=center><input class=Button onClick="Operation('-')" type=button value=" - " name=btnMinus> 
                </P></td></tr>
            <tr>
              <td width=50><input class=Button onclick=NumPressed(1) type=button value=" 1 " name=btnOne> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(2) type=button value=" 2 " name=btnTwo> 
              </td>
              <td width=50><input class=Button onclick=NumPressed(3) type=button value=" 3 " name=btnThree> 
              </td>
              <td width=50><input class=Button onclick=binchange() type=button value=BIN name=btnClearEntry223> 
              </td>
              <td width=0></td>
              <td align=middle width=50><input class=Button onClick="Operation('*')" type=button value=" * " name=btnMultiply> 
              </td>
              <td align=middle><input class=Button onClick="Operation('/')" type=button value=" / " name=btnDivide> 
              </td></tr>
            <tr>
              <td width=50><input class=Button onclick=NumPressed(0) type=button value=" 0 " name=btnZero> 
              </td>
              <td width=50><input class=Button onclick=Decimal() type=button value=" . " name=btnDecimal> 
              </td>
      
              <td colSpan=5><input class=Button onClick="Operation('=')" type=button value=" = " name=btnEquals> 
              </td></tr></table></form></body>
          <SCRIPT language=JavaScript>
    var FKeyPad = document.Keypad;
    var Accum = 0;
    var FlagNewNum = false;
    var PendingOp = "";
    function NumPressed (Num) {
    if (FlagNewNum) {
    FKeyPad.ReadOut.value  = Num;
    FlagNewNum = false;
    }
    else {
    if (FKeyPad.ReadOut.value == "0")
    FKeyPad.ReadOut.value = Num;
    else
    FKeyPad.ReadOut.value += Num;
    }
    }
    function Operation (Op) {
    var Readout = FKeyPad.ReadOut.value;
    if (FlagNewNum && PendingOp != "=");
    else
    {
    FlagNewNum = true;
    if ( '+' == PendingOp )
    Accum += parseFloat(Readout);
    else if ( '-' == PendingOp )
    Accum -= parseFloat(Readout);
    else if ( '/' == PendingOp )
    Accum /= parseFloat(Readout);
    else if ( '*' == PendingOp )
    Accum *= parseFloat(Readout);
    else
    Accum = parseFloat(Readout);
    FKeyPad.ReadOut.value = Accum;
    PendingOp = Op;
    }
    }
    function Decimal () {
    var curReadOut = FKeyPad.ReadOut.value;
    if (FlagNewNum) {
    curReadOut = "0.";
    FlagNewNum = false;
    }
    else
    {
    if (curReadOut.indexOf(".") == -1)
    curReadOut += ".";
    }
    FKeyPad.ReadOut.value = curReadOut;
    }
    function ClearEntry () {
    FKeyPad.ReadOut.value = "0";
    FlagNewNum = true;
    }
    function Clear () {
    Accum = 0;
    PendingOp = "";
    ClearEntry();
    }
    function Neg () {
    FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
    }
    function Percent () {
    FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
    }
    function hexchange()
    {
    var hex,dec;
    dec = parseFloat(FKeyPad.ReadOut.value);
    hex = dec.toString(16);
    window.alert("该十进制数转成十六进制数为:"+ hex);
    }
    function octchange()
    {
    var oct,dec;
    dec = parseFloat(FKeyPad.ReadOut.value);
    oct = dec.toString(8);
    window.alert("该十进制数转成八进制数为:"+ oct);
    }
    function binchange()
    {
    var bin,dec;
    dec = parseFloat(FKeyPad.ReadOut.value);
    bin = dec.toString(2);
    window.alert("该十进制数转成二进制数为:"+ bin);
    }</SCRIPT>
    </html>