当前位置:编程学习 > JS >>

求一个Javascript编写一个计算器的代码???程序简单一点我刚学怕理解不了????<下有附图,求一个能实现功能的>

答案:</html>
<head>
<title>计算器</title>
<script type="text/javascript"> //老早以前写的。方法苯了点。当时也写不好。网上边搜边想思路。。功能不完整。
function enter(calc, string)   //定义一个enter的函数,接受两个参数。
   {calc.expr.value += string} //转成字符串。这个的意思就是下面如果选了1和2。想加的话就会在下面调用ENTER函数的文本框里输入    1+2 这个表达式
function compute(calc)  //这才是真正计算的地方。
   {calc.expr.value =eval (calc.expr.value)} //JS内置eval函数。它的作用是把字符串 比如'1'+'2'当做1+2处理
function del () //删除函数。这么没什么好说了。点了下面的onClick="del(calc)" 的话。就会清空输出的文本框
   {calc.expr.value=''}
var one = '1' ;
var two= '2'  ;
var three="3";
var four="4";
var five="5";
var six="6";
var seven="7";
var eight="8";
var nine="9";
var zero="0";
var point="."
var plus= '+' ;
var minus="-";
var mult="*";
var dev="/"; //全都是声明成字符串。目的是1。让他在上面文本框显示。2。拿到完整的字符串公式后用eval()算得结果
</script>
</head>
<body>
 <table border="1" cellpadding="3" bordercolor="#808080">
  <form name="calc">
   <tr><td  colspan="5"><input type="text" name="expr" size=32 action="compute(calc)" readonly> </td></tr>  <!--输出的文本框。也就是显示屏幕,上面的calc.expr.value就是这里的value,-->
   <tr><td><input type="button" value="  1  " onClick="enter(calc, one)"></td> <!--按一下拿到1。再按继续拿到1 因为触发enter()函数。所以连续两下1或者按一下1接着按下面的按钮的话。都会变成'1+1' '1+x+x‘(就是假设后来按的数。不是变量啊。。并作为calc.expr.value显示在显示屏幕上)'-->
       <td><input type="button" value="  2  " onClick="enter(calc, two)"></td>
       <td><input type="button" value="  3  " onClick="enter(calc, three)"></td>
       <td><input type="button" value="  +  " onClick="enter(calc, plus)"></td>
       <td><input type="button" value="  -   " onClick="enter(calc, minus)"></td></tr>
           <tr><td><input type="button" value="  4  " onClick="enter(calc, four)"></td>
       <td><input type="button" value="  5  " onClick="enter(calc, five)"></td>
                   <td><input type="button" value="  6  " onClick="enter(calc, six)"></td>
                   <td><input type="button" value="  x  " onClick="enter(calc,mult)"></td>
                   <td><input type="button" value="  ÷  " onClick="enter(calc,dev)"></td></tr>
           <tr><td><input type="button" value="  7  " onClick="enter(calc, seven)"></td>
                   <td><input type="button" value="  8  " onClick="enter(calc, eight)"></td>
       <td><input type="button" value="  9  " onClick="enter(calc, nine)"></td>
                   <td colspan="2" align="center"><input type="button" value="    =    " onClick="compute(calc)"></td></tr><!--其他都是拿到字符串。这个函数已经变成compute()了。因为这个键是=。就是说我门想要结果了。要结果不能用字符串表示啊。字符串相加根本就不是数易做图算了。所以要用compute() 让显示屏幕里的刚才拿到的比如'1+x+x‘用eval()函数 让得到的字符串做数易做图算。最后显示在显示屏幕上-->
          <tr><td><input type="button" value="  0  " onClick="enter(calc, zero)"></td>
                  <td><input type="button" value="  .  " onClick="enter(calc, point)"></td>
                  <td colspan="3" align="center"><input type="button" value="       AC       " onClick="del(calc)"></td></tr>
<!--整体思路是把123456789+-*/这些数易做图算符号当成字符串先处理。按一下拿到一个字符串。这时候代码的功能只是让这个字符串显示出来。并没有运算的效果。但当按=号时。会触发eval()函数。把从头到尾拿到的字符串做数易做图算。得出结果后,显示出来。-->
  </form>
 </table>
</body>
</html>

http://wenku.zhaoxi.net/view/2fa4c22f453610661ed9f48d.html

这里有一个和你需要的很像,自己看着改改。

上一个:快实训了,给介绍一个北京好的培训基地,主学asp.net的,我在校学过c#,现在还学了html、javascript,介绍个好的
下一个:javascript在网页地址栏输入些有意思的代码~~~网页有相应的效果,请高手讲下您知道代码~~~在网上地址栏输入的~~~谢谢

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,