本文实例为大家介绍javascript实现简单计算器功能的详细代码,分享给大家供大家参考,具体内容如下
效果图:
实现代码:
<html>
<head>
<script>
function calc(event){
// test
//window.alert(event.value);
var val = new String(event.value);
// clear space
val = val.trim();
var res = document.getElementById("res");
// clear
if(val == "clear"){
res.value = "";
}
// back
if(val == "back"){
res.value = res.value.substring(0, res.value.length - 1);
}
// power
if(val == "power"){
val = "p";
}
// add val to text
if(val.length == 1 && val != "="){
res.value = res.value + val;
}
// calc result
if(val == "="){
var arr;
var result;
// power
if(res.value.indexOf("p") != -1){
arr = res.value.split("p");
//window.alert(arr);
result = Math.pow(parseFloat(arr[0]) ,parseFloat(arr[1]));
//window.alert(res);
res.value = result;
}
// plus
if(res.value.indexOf("+") != -1){
arr = res.value.split("+");
//window.alert(arr);
result = parseFloat(arr[0]) + parseFloat(arr[1]);
//window.alert(res);
res.value = result;
} else if(res.value.indexOf("-") != -1){
// minus
arr = res.value.split("-");
//window.alert(arr);
result = parseFloat(arr[0]) - parseFloat(arr[1]);
//window.alert(res);
res.value = result;
} else if(res.value.indexOf("*") != -1){
// multiply
arr = res.value.split("*");
//window.alert(arr);
result = parseFloat(arr[0]) * parseFloat(arr[1]);
//window.alert(res);
res.value = result;
} else if(res.value.indexOf("/") != -1){
// division
arr = res.value.split("/");
//window.alert(arr);
result = parseFloat(arr[0]) / parseFloat(arr[1]);
//window.alert(res);
res.value = result;
} else if(res.value.indexOf("%") != -1){
// module
arr = res.value.split("%");
//window.alert(arr);
result = parseFloat(arr[0]) % parseFloat(arr[1]);
//window.alert(res);
res.value = result;
}
}
}
</script>
</head>
<body>
<table border="1px" cellpadding="10px" cellspacing="5px" align="center">
<tr align="center">
<td colspan="4"><input type="text" id="res" size="35px" value="" style="text-align:right;"/></td>
</tr>
<tr align="center">
<td><input type="button" value="power" onclick="calc(this)"/></td>
<td><input type="button" value="clear" onclick="calc(this)"/></td>
<td colspan="2"><input type="button" value=" back " onclick="calc(this)"/></td>
</tr>
<tr align="center">
<td><input type="button" value=" 1 " onclick="calc(this)"/></td>
<td><input type="button" value=" 2 " onclick="calc(this)"/></td>
<td><input type="button" value=" 3 " onclick="calc(this)"/></td>
<td><input type="button" value=" + " onclick="calc(this)"/></td>
</tr>
<tr align="center">
<td><input type="button" value=" 4 " onclick="calc(this)"/></td>
<td><input type="button" value=" 5 " onclick="calc(this)"/></td>
<td><input type="button" value=" 6 " onclick="calc(this)"/></td>
<td><input type="button" value=" - " onclick="calc(this)"/></td>
</tr>
<tr align="center">
<td><input type="button" value=" 7 " onclick="calc(this)"/></td>
<td><input type="button" value=" 8 " onclick="calc(this)"/></td>
<td><input type="button" value=" 9 " onclick="calc(this)"/></td>
<td><input type="button" value=" * " onclick="calc(this)"/></td>
</tr>
<tr align="center">
<td><input type="button" value=" 0 " onclick="calc(this)"/></td>
<td><input type="button" value=" = " onclick="calc(this)"/></td>
<td><input type="button" value=" % " onclick="calc(this)"/></td>
<td><input type="button" value=" / " onclick="calc(this)"/></td>
</tr>
</table>
</body>
</html>
希望本文所述对大家学习javascript程序设计有所帮助。
标签:
javascript,计算器
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“基于javascript实现简单计算器功能”评论...
更新日志
2025年10月29日
2025年10月29日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
