要使用JavaScript制作一个简易的计算器,你需要理解一些基础概念,比如DOM操作、事件处理以及基本的数学运算。以下是一个简单的示例,展示了如何使用HTML、CSS和JavaScript来创建一个具有基本功能的计算器。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简易计算器</title>
<style>
/* 简单的样式 */
.calculator {
width: 200px;
margin: auto;
border: 1px solid #ccc;
padding: 20px;
}
.button {
width: 45px;
height: 45px;
margin: 5px;
font-size: 18px;
}
</style>
</head>
<body>
<div class="calculator">
<input type="text" id="display" disabled>
<br>
<button class="button" onclick="clearDisplay()">C</button>
<button class="button" onclick="appendToDisplay('/')">/</button>
<button class="button" onclick="appendToDisplay('*')">*</button>
<button class="button" onclick="appendToDisplay('7')">7</button>
<button class="button" onclick="appendToDisplay('8')">8</button>
<button class="button" onclick="appendToDisplay('9')">9</button>
<button class="button" onclick="appendToDisplay('-')">-</button>
<button class="button" onclick="appendToDisplay('4')">4</button>
<button class="button" onclick="appendToDisplay('5')">5</button>
<button class="button" onclick="appendToDisplay('6')">6</button>
<button class="button" onclick="appendToDisplay('+')">+</button>
<button class="button" onclick="appendToDisplay('1')">1</button>
<button class="button" onclick="appendToDisplay('2')">2</button>
<button class="button" onclick="appendToDisplay('3')">3</button>
<button class="button" onclick="calculateResult()">=</button>
<button class="button" onclick="appendToDisplay('0')">0</button>
<button class="button" onclick="appendToDisplay('.')">.</button>
</div>
<script src="calculator.js"></script>
</body>
</html>
function appendToDisplay(value) {
document.getElementById('display').value += value;
}
function clearDisplay() {
document.getElementById('display').value = '';
}
function calculateResult() {
try {
document.getElementById('display').value = eval(document.getElementById('display').value);
} catch (e) {
document.getElementById('display').value = 'Error';
}
}
eval
函数可能存在安全风险,因为它会执行传入的字符串作为代码。建议使用更安全的方法来解析和计算表达式,例如编写一个简单的解析器或者使用现有的数学表达式解析库。这个简易计算器的示例提供了一个起点,你可以根据自己的需求进行扩展和改进。
企业创新在线学堂
技术创作101训练营
腾讯云GAME-TECH游戏开发者技术沙龙
小程序·云开发官方直播课(数据库方向)
Hello Serverless 来了
云+社区技术沙龙[第8期]
云+社区技术沙龙[第5期]
技术创作101训练营
领取专属 10元无门槛券
手把手带您无忧上云