HTML部分:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<table border="5"style="background-color: #55ffff;">
<tr>
<th colspan="5"><input type="text"id="pingmu" value="0" style="width: 265px;height: 40px;"/></th>
</tr>
<td><input type="button"value="C"style="width:50px;height:50px;"οnclick="empty()"/></td>
<td><input type="button"value="+/-"style="width:50px;height:50px;"οnclick="sign()"/></td>
<td><input type="button"value="%"style="width:50px;height:50px;"οnclick="operation(this.value)"/></td>
<td colspan="2"><input type="button"value="←"style="width: 102px;height: 50px;margin-left:3px;"οnclick="returnOne()"/></td>
</tr>
<tr>
<td><input type="button"value="7" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="8" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="9" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="+" style="width: 50px;height: 50px;"οnclick="operation(this.value)"/></td>
<td><input type="button"value="-" style="width: 50px;height: 50px;"οnclick="operation(this.value)"/></td>
</tr>
<tr>
<td><input type="button"value="4" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="5" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="6" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="*" style="width: 50px;height: 50px;"οnclick="operation(this.value)"/></td>
<td><input type="button"value="/" style="width: 50px;height: 50px;"οnclick="operation(this.value)"/></td>
</tr>
<tr>
<td><input type="button"value="1" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="2" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="3" style="width: 50px;height: 50px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="x²"style="width: 50px;height: 50px;"οnclick="square(this.value)"/></td>
<td><input type="button"value="√" style="width: 50px;height: 50px;"οnclick="nsqrt()"/></td>
</tr>
<tr>
<td colspan="2"><input type="button"value="0"style="width:102px;height:50px;margin-left:3px;"οnclick="num(this.value)"/></td>
<td><input type="button"value="."style="width:50px;height:50px;"οnclick="point()"/></td>
<td colspan="2"><input type="button"value="="style="width:102px;height:50px;margin-left:3px;"οnclick="result()"/></td>
</tr>
</table>
<script type="text/javascript"src="js/计算器.js"></script>
</body>
</html>
JS部分:
var xianshi="";
var shuzi="";
var huancun="";
//处理数字
function num(a){
var pingmu=document.getElementById("pingmu");
xianshi+=a;
pingmu.value=xianshi;
shuzi+=a;
}
//基础运算
function operation(b){
if(shuzi==""&&huancun=="")return;
huancun+=shuzi+b;
shuzi="";
xianshi="";
}
//显示结果
function result(){
huancun+=shuzi;
var pingmu=document.getElementById("pingmu");
huancun=eval(huancun);
pingmu.value=huancun;
shuzi="";
xianshi="";
}
//为数字添加符号
function sign(){
var pingmu=document.getElementById("pingmu");
var value =pingmu.value;
value="(-("+value+"))"
value=eval(value)
pingmu.value=value;
if(shuzi=="")huancun=value;
else{shuzi=value;}
}
//平方根
function nsqrt(){
var pingmu=document.getElementById("pingmu");
var value=pingmu.value;
value=eval(value);
value=Math.sqrt(value);
pingmu.value=value;
if(shuzi=="")huancun=value;
else{shuzi=value;}
}
//平方
function square(c){
var pingmu=document.getElementById("pingmu");
var value=pingmu.value;
value=eval(value);
pingmu.value=value*value;
if(shuzi=="")huancun=value;
else{shuzi=value;}
}
//小数点
function point(){
var pingmu=document.getElementById("pingmu");
if(shuzi==""||xianshi==""){shuzi="0";xianshi="0"}
shuzi+=".";
xianshi+=".";
pingmu.value=xianshi;
}
//清空
function empty(){
shuzi="";
huancun="";
xianshi="";
document.getElementById("pingmu").value="";
}
//退一位
function returnOne(){
shuzi=shuzi.substring(0,shuzi.length-1)
xianshi=xianshi.substring(0,xianshi.length-1)
pingmu.value=xianshi;
}
效果如下:
效果图](http://127.0.0.1:8848/lession02/%E8%AE%A1%E7%AE%97%E5%99%A8.html)