怎样用JS写一个加减乘除的计算器?
Admin 2021-09-03 群英技术资讯 1071 次浏览
怎样用JS写一个加减乘除的计算器?加减乘除的计算器是JavaScript学习中一个比较常见的练习,想要实现这个效果并不困难,接下来我们就一起来了解一下,感兴趣的朋友可以参考下文的代码。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计算器</title>
<style>
.op {
margin: 50px auto;
width: 300px;
height: 300px;
border: 1px solid orange;
background-color: lightskyblue;
border-radius: 50px;
}
input {
width: 210px;
height: 30px;
border-radius: 5px;
}
button {
width: 30px;
height: 30px;
border-radius: 10px;
}
</style>
</head>
<body>
<div class="op">
<h2 align="center">计算器</h2>
<form name="calculator">
<table align="center">
<tr>
<td>num1:</td>
<td><input type="text" name="num1"></td>
</tr>
<tr>
<td>num2:</td>
<td><input type="text" name="num2"></td>
</tr>
<tr>
<td colspan="2">         
<button type="button">+</button>
      
<button type="button">-</button>
      
<button type="button">*</button>
      
<button type="button">/</button>
</td>
</tr>
<tr>
<td>结果:</td>
<td><input type="text" name="result" disabled></td>
</tr>
</table>
</form>
</div>
<script>
//得到标签名下的所有元素对象,返回一个数组
let buttonArr = document.getElementsByTagName("button");
for (let but of buttonArr) {
but.addEventListener('click', function () {
let operator = this.innerHTML;
count(operator);
});
}
function count(operator) {
//得到form为calculator中name为num1的输入值
let num1 = parseFloat(document.calculator.num1.value);
let num2 = parseFloat(document.calculator.num2.value);
let result = '';
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
alert("除数不能为零");
return;
}
result = num1 / num2;
break;
}
//将结果赋值于属性名name为result的input框
document.calculator.result.value = result;
}
</script>
</body>
</html>
关于JavaScript实现加减乘除计算器就介绍到这,上述实例具有一定的借鉴价值,感兴趣的朋友可以参考学习,希望能对大家有帮助,想要了解更多实现计算器的内容,大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录前言????目标????搭建开发环境????️生成模板????CSS预处理器????eslint????组件库编译⚡️vite的打包配置⚡️自动生成ts类型文件⚡️样式懒加载与全量加载????文档❤️npm 发布与发布前的测试????测试前言日常使用开源的组件库时我们或多或少的都会做一些自定义的配置来符合实际的设计,当这些设计形成一定规模时,设计狮们就会形成一套
ES5和ES6中的apply异同在哪?在ES6中,新增了一个全局、内建、不可构造的Reflect对象,而且还提供了其下一系列可被拦截的操作方法。而其中的一个方法就是Reflect.apply(),我们知道ES5中也有apply,那么Reflect.apply()和ES5的Function.prototype.apply()有哪些区别和相同的地方呢?
这篇文章主要为大家详细介绍了vue卡片式点击切换图片组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章给大家分享的是vue如何实现文件的上传下载功能,这里会使用到的技术除了vue,还有axios、springboot。实现思路及代码如下,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
这篇文章主要介绍“Cocos项目中有哪些使用的开发技巧”,有一些人在Cocos项目中有哪些使用的开发技巧的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008