使用JavaScript构建在线计算器

1. 简介

计算器是计算数学式的工具。它通常用于学生,工程师和科学家在研究或实际工作中需要计算的情况。通过计算器,我们可以实现各种数学计算,如加法,减法,乘法,除法和三角函数等。现在,我们可以使用JavaScript来构建一个在线计算器,这使得用户能够随时随地进行计算。

2. 开发环境和工具

2.1 编辑器

为了使用JavaScript来构建在线计算器,我们需要一个编辑器来编写代码。常见的编辑器有Visual Studio Code,Sublime Text和Atom等等。本文将使用Visual Studio Code作为编辑器。

2.2 浏览器

JavaScript是一种运行在浏览器中的编程语言。在实现在线计算器之前,我们需要选择一个现代浏览器,如Google Chrome,Mozilla Firefox和Microsoft Edge等。本文将使用Google Chrome浏览器作为我们开发计算器的运行环境。

2.3 开发框架

JavaScript具有强大的能力,但在构建应用程序时,我们往往需要一些帮助。开发框架就提供了帮助,它们是在JavaScript上构建的应用程序的基础结构。本文将使用jQuery框架来实现在线计算器的构建。

3. HTML结构

在开发在线计算器之前,我们需要建立HTML结构。下面是HTML代码示例:

<!DOCTYPE html>

<html>

<head>

<title>在线计算器</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<div class="calculator">

<h1>在线计算器</h1>

<form name="calculator">

<input type="text" name="display" id="display" disabled>

<br>

<input type="button" name="one" value="1" onclick="addToDisplay('1')">

<input type="button" name="two" value="2" onclick="addToDisplay('2')">

<input type="button" name="three" value="3" onclick="addToDisplay('3')">

<input type="button" name="plus" value="+" onclick="addToDisplay('+')">

<br>

<input type="button" name="four" value="4" onclick="addToDisplay('4')">

<input type="button" name="five" value="5" onclick="addToDisplay('5')">

<input type="button" name="six" value="6" onclick="addToDisplay('6')">

<input type="button" name="minus" value="-" onclick="addToDisplay('-')">

<br>

<input type="button" name="seven" value="7" onclick="addToDisplay('7')">

<input type="button" name="eight" value="8" onclick="addToDisplay('8')">

<input type="button" name="nine" value="9" onclick="addToDisplay('9')">

<input type="button" name="times" value="×" onclick="addToDisplay('*')">

<br>

<input type="button" name="clear" value="C" onclick="clearDisplay()">

<input type="button" name="zero" value="0" onclick="addToDisplay('0')">

<input type="button" name="equals" value="=" onclick="calculate()">

<input type="button" name="divided by" value="÷" onclick="addToDisplay('/')">

</form>

</div>

<script src="jquery.min.js"></script>

<script src="main.js"></script>

</body>

</html>

该HTML代码中,我们创建了一个名为"calculator"的div元素,该元素包含所有我们需要的表单和按钮。除此之外,我们还链接了一个名为"style.css"的样式表和两个脚本文件,"jquery.min.js"和"main.js"。

4. CSS样式

为了使计算器更美观,我们需要编写一些CSS代码来定义样式。下面是CSS代码示例:

body {

font-family: Arial, sans-serif;

background-color: #f2f2f2;

}

.calculator {

width: 300px;

margin: 0 auto;

background-color: #fff;

border-radius: 5px;

padding: 10px;

box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);

}

h1 {

text-align: center;

margin-bottom: 20px;

color: #333;

}

form {

text-align: center;

}

input[type="text"] {

width: 100%;

font-size: 24px;

padding: 10px;

margin-bottom: 20px;

border-radius: 5px;

border: 1px solid #ccc;

text-align: right;

}

input[type="button"] {

width: 50px;

height: 50px;

font-size: 18px;

margin: 5px;

border-radius: 5px;

border: none;

background-color: #eee;

color: #333;

cursor: pointer;

}

input[type="button"]:hover {

background-color: #ccc;

color: #fff;

}

该CSS代码通过为元素设置不同的样式属性,实现了在线计算器界面的设计。例如,我们使用了圆角和阴影来使"calculator"元素看起来更加美观,使用了不同的字体大小和颜色来提高可读性。

5. JavaScript代码

5.1 加法和减法

下面是用于加法和减法的JavaScript代码:

function addToDisplay(char) {

var display = $("#display");

var val = display.val();

if (val === "") {

if (char === "+" || char === "-") {

display.val("0" + char);

} else {

display.val(char);

}

} else {

if (char === "+" || char === "-") {

if (val.slice(-1) === "+" || val.slice(-1) === "-") {

val = val.slice(0, -1) + char;

} else {

val += char;

}

} else {

val += char;

}

display.val(val);

}

}

该函数用于向显示器添加字符。如果显示器为空,它将在第一个字符添加数字或运算符。如果不为空,则为字符串添加数字或运算符。如果最后一个字符是运算符,则替换为新运算符。

5.2 乘法和除法

function calculate() {

var display = $("#display");

var equation = display.val();

var answer;

if (equation !== "") {

try {

answer = eval(equation);

display.val(answer.toFixed(2));

} catch (err) {

console.log(err.message);

}

}

}

function clearDisplay() {

var display = $("#display");

display.val("");

}

该函数用于计算结果。它从显示器中获取方程式字符串,并使用eval函数将其计算为结果。如果出现异常,它将在控制台中记录错误信息。我们还为显示器添加了一个名为"clearDisplay"的辅助函数,以清除显示器。

5.3 完整代码

现在,我们已经完整地编写了JavaScript代码:

function addToDisplay(char) {

var display = $("#display");

var val = display.val();

if (val === "") {

if (char === "+" || char === "-") {

display.val("0" + char);

} else {

display.val(char);

}

} else {

if (char === "+" || char === "-") {

if (val.slice(-1) === "+" || val.slice(-1) === "-") {

val = val.slice(0, -1) + char;

} else {

val += char;

}

} else {

val += char;

}

display.val(val);

}

}

function calculate() {

var display = $("#display");

var equation = display.val();

var answer;

if (equation !== "") {

try {

answer = eval(equation);

display.val(answer.toFixed(2));

} catch (err) {

console.log(err.message);

}

}

}

function clearDisplay() {

var display = $("#display");

display.val("");

}

6. 结论

通过使用HTML,CSS和JavaScript,我们可以构建一个简单但实用的在线计算器。通过了解开发环境和工具,HTML结构,CSS样式和JavaScript代码,我们可以更好地理解如何使用这些技术来构建Web应用程序。随着我们练习和学习更多的技术,我们可以不断地提高我们的代码水平,并构建更大更复杂的应用程序。