javascript写简单计算器的代码,要详细的解释

最好把如何将数字按钮触发的函数产生的值显示在文本框中详细解释一下,回答好的会追加分数... 最好把如何将数字按钮触发的函数产生的值显示在文本框中详细解释一下,回答好的会追加分数 展开
 我来答
喷农药的苏27
2011-10-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
var tempNum;//定义二元运算的临时变量
var tempOperate;//定义二元运算运算符变量
var input=0;//定义数量键输入状态变量
//数字键的函数
function numKey( num)
{

if (input==0)
{
if(document.myCal.txtNum.value=="")
document.myCal.txtNum.value=num;
else
document.myCal.txtNum.value+=num;
}
else
{
document.myCal.txtNum.value="";
document.myCal.txtNum.value=num;
input=0;
}

}

function result(operate)//结果函数
{
var resultNum;
switch(operate)
{
case "=":
switch(tempOperate)
{
case "+":
resultNum=parseFloat(document.myCal.txtNum.value)+tempNum;
break;
case "-":
resultNum=tempNum-parseFloat(document.myCal.txtNum.value);
break;
case "/":
resultNum=tempNum /parseFloat(document.myCal.txtNum.value);
break;
case "*":
resultNum=tempNum*parseFloat(document.myCal.txtNum.value);
break;
case "Pow":
resultNum=Math.pow(tempNum,parseFloat(document.myCal.txtNum.value));
break;
}
break;
case "Abs":
resultNum=Math.abs(parseFloat(document.myCal.txtNum.value));
break;
case "Cos":
resultNum=Math.cos(parseFloat(document.myCal.txtNum.value));
break;
case "Sin" :
resultNum=Math.sin(parseFloat(document.myCal.txtNum.value));
break;
case "Sqrt":
resultNum=Math.sqrt(parseFloat(document.myCal.txtNum.value));
break;
case "Tan":
resultNum=Math.tan(parseFloat(document.myCal.txtNum.value));
break;
case "Exp":
resultNum=Math.exp(parseFloat(document.myCal.txtNum.value));
break;
}
document.myCal.txtNum.value=resultNum;
}

function dotKey() //.键的函数
{
//当文本框不为空时
if(document.myCal.txtNum.value!="")
{
//只有当文本框无点时有效
var temp=new String(document.myCal.txtNum.value);

if(temp.indexOf(".",0)==-1)
{

document.myCal.txtNum.value+=".";
}
}
}

function operate(operate)//本函数用于改变二元运算临时变量
{

tempOperate=operate;
tempNum=parseFloat(document.myCal.txtNum.value);
input=1;

}
function sign()//正负按钮
{
var temp;
temp=-(document.myCal.txtNum.value)
document.myCal.txtNum.value=temp;

}
function CE()
{
tempNum=0;
tempOperate="";
document.myCal.txtNum.value="";
}
function C()
{
document.myCal.txtNum.value="";
}

function Breakspace()
{
var temp=new String(document.myCal.txtNum.value);
document.myCal.txtNum.value=temp.substring(0,temp.length-1);
}
</script>

<title>萝卜卜云的计算器</title>
</head>

<body>
<form action="" method="post" name="myCal">
<table align="center" border="1">
<tr><td colspan="6"><input type="text" name="txtNum" /></td></tr>
<tr>
<td colspan="3"><input type="button" name="btnBreakspace" value="Breakspace" onclick="Breakspace()"/></td>
<td colspan="2" ><input type="button" name="btnCE" value="CE" onclick="CE()"/></td>
<td><input type="button" name="btnC" value="C" onclick="C()"></td>
</tr>
<tr>
<td><input type="button" name="btnNum7" value="7 " onclick="numKey('7')"/></td>
<td><input type="button" name="btnNum8" value="8 " onclick="numKey('8')"/></td>
<td><input type="button" name="btnNum9" value="9 " onclick="numKey('9')"/></td>
<td><input type="button" name="btnDiv" value="/ " onclick="operate('/')"/></td>
<td><input type="button" name="btnAbs" value="Abs" onclick="result('Abs')" /></td>
<td><input type="button" name="btnSqrt" value="Sqrt" onclick="result('Sqrt')"/></td>
</tr>
</tr>
<tr>
<td><input type="button" name="btnNum4" value="4 " onclick="numKey('4')"/></td>
<td><input type="button" name="btnNum5" value="5 " onclick="numKey('5')"/></td>
<td><input type="button" name="btnNum6" value="6 " onclick="numKey('6')"/></td>
<td><input type="button" name="btnMul" value="* " onclick="operate('*')"/></td>
<td><input type="button" name="btnCos" value="Cos" onclick="result('Cos')" /></td>
<td><input type="button" name="btnPow" value="Pow" onclick="operate('Pow')" /></td>
</tr>
<tr>
<td><input type="button" name="btnNum1" value="1 " onclick="numKey('1')"/></td>
<td><input type="button" name="btnNum2" value="2 " onclick="numKey('2')"/></td>
<td><input type="button" name="btnNum3" value="3 " onclick="numKey('3')"/></td>
<td><input type="button" name="btnSub" value="- " onclick="operate('-')"/></td>
<td><input type="button" name="btnSin" value="Sin" onclick="result('Sin')" /></td>
<td><input type="button" name="btnTan" value="Tan" onclick="result('Tan')" /></td>
</tr>

<tr>
<td><input type="button" name="btnNum0" value="0 " onclick="numKey('0')"/></td>
<td><input type="button" name="btnSign" value="+/_" onclick="sign()"/></td>
<td><input type="button" name="btnPoint" value=". " onclick="dotKey()"/></td>
<td><input type="button" name="btnAdd" value="+ " onclick="operate('+')"/></td>
<td><input type="button" name="btnAmount" value="=" onclick="result('=')" /></td>
<td><input type="button" name="btnExp" value="Exp" onclick="result('Exp')" /></td>
</tr>
</table>
</form>
</body>
</html>
百度网友f4672095b
2011-10-25
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
<htlm>
<head>
</head>
<body>
<div id="main" style="width:300px;height:200px;border:1px solid #000">
<input type="text" id="display" style="text-align:right;width:100%" value="0" />
<div id="panel"></div>
</div>
<script>
function X(o){return document.getElementById(o);}
function loadPanel(){//初始化面板,载入按钮
var x='1 2 3 4 5 6 7 8 9 0 . + - * / = C'.split(' ');
var n;
for(var i=0;i<x.length;i++){
n=document.createElement('input');
n.value=x[i];
n.type='button';
n.style.fontSize=20;
n.style.width='50px';
n.style.height='50px';
X('panel').appendChild(n);
}
var r={x:0,y:0,z:0,r:''};
X('panel').onclick=function(e){
//点击面板事件
e=e||window.event;
var src=e.target||e.srcElement;
if(src.tagName!='INPUT')return; //如果被点的元素不是input
var v=src.value; //取得鼠标所点的铵钮值
if(v=='='){//如果点的是等号
try{r.z=eval('('+X('display').value+')')}
catch(err){r.z='计算式错误!';};
X('display').value=r.z;
}else if(v=='C'){//如果点清除
X('display').value='';
}else{//其它
X('display').value+=v;
}
};
}
loadPanel();
</script>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式