超级简易的JS计算器实例讲解(实现加减乘除)
作者:小括号时间:2026-10-22 06:50:25浏览:247
本文提供一个超级简易的JavaScript计算器实例,涵盖HTML结构与CSS样式。重点解析JS逻辑中判断顺序的重要性,确保加减乘除运算正确执行,避免运算符存储错误。适合初学者参考学习前端基础交互实现。
JS计算器基础实现
不赘述背景,直接展示代码实现。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>简单的计算器</title>
<style>
body{
margin: 0;
}
.tab{
border: 3px solid black ;
border-radius: 2px;
border-collapse:collapse;
width: 268px;
height: 402px;
margin: 100px auto;
}
.tr{
height: 67px;
width: 268px;
border: 3px solid black ;
text-align: right;
}
.tr1{
width: 268px;
height: 67px;
border: 3px solid black ;
text-align: center;
}
.tr2{
width: 67px;
height: 67px;
border: 3px solid black ;
text-align: center;
}
</style>
<script>
var s1 = "";
var s2 = "";
var s3 = "";
var s4 = "";
var s5 = "";
function view(val){
var a = document.getElementById(val);
s1 = a.innerHTML;
if(s1=="+" || s1=="-" || s1=="*" || s1=="/"){
s3 = s1;
s1 = "";
}
if(s3=="+" || s3=="-" || s3=="*" || s3=="/"){
add2(s1);
}
if(s3==""){
add1(s1);
}
}
function add1(s1){
s2 = s2 + s1;
show();
}
function add2(s1){
s4 = s4 + s1;
show();
}
function cal(){
switch(s3){
case "+":{
s5 = (String)((parseFloat(s2)+parseFloat(s4)).toFixed(2));
result.innerHTML = s5;
break;
}
case "-":{
s5 = (String)((parseFloat(s2)-parseFloat(s4)).toFixed(2));
result.innerHTML = s5;
break;
}
case "*":{
s5 = (String)((parseFloat(s2)*parseFloat(s4)).toFixed(2));
result.innerHTML = s5;
break;
}
case "/":{
s5 = (String)((parseFloat(s2)/parseFloat(s4)).toFixed(2));
result.innerHTML = s5;
break;
}
}
}
function show(){
var result = document.getElementById("result");
result.innerHTML = s2+s3+s4;
}
</script>
</head>
<body>
<table class="tab">
<tr class = "tr2">
<td colspan="4">简易计算器</td>
</tr>
<tr class="tr">
<td id="result" colspan="4" >
</td>
</tr>
<tr >
<td id="+" class="tr1" onclick="view('+')">+</td>
<td id="-" class="tr1" onclick="view('-')">-</td>
<td id="*" class="tr1" onclick="view('*')">*</td>
<td id="/" class="tr1" onclick="view('/')">/</td>
</tr>
<tr >
<td id="7" class="tr1" onclick="view('7')">7</td>
<td id="8" class="tr1" onclick="view('8')">8</td>
<td id="9" class="tr1" onclick="view('9')">9</td>
<td id="0" class="tr1" onclick="view('0')">0</td>
</tr>
<tr>
<td id="4" class="tr1" onclick="view('4')">4</td>
<td id="5" class="tr1" onclick="view('5')">5</td>
<td id="6" class="tr1" onclick="view('6')">6</td>
<td id="." class="tr1" onclick="view('.')">.</td>
</tr>
<tr>
<td id="1" class="tr1" onclick="view('1')">1</td>
<td id="2" class="tr1" onclick="view('2')">2</td>
<td id="3" class="tr1" onclick="view('3')">3</td>
<td id="=" class="tr1" onclick="cal()" >=</td>
</tr>
</table>
</body>
</html>
在该程序中,逻辑判断的执行顺序至关重要。若顺序不当,会导致“+”号被错误地存入s2或s4变量,而非预期的s3变量中。
以上关于超级简易JS计算器(实现加减乘除)的完整内容已分享完毕,希望能为读者提供有价值的参考。欢迎继续支持本站获取更多技术内容。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
