今天闲来无聊,想写点什么,突然想到用javascript写一个计算器。程序还存在很多的Bug,先在这里记录一下,以后慢慢更正。
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>javascript实现简易计算器的代码_脚本之家</title> <style type="text/css"> input{ width:30px; height:20px; text-align:center; } #tbCalculator td { text-align:center; vertical-align:middle; } </style> <script type="text/javascript"> var result; //保存点击运算符之前输入框中的数值 var operator; //保存运算符 var isPressEqualsKey = false; //记录是否按下”=“键 //数字键事件 function connectionDigital(control) { var txt = document.getElementById('txtScream'); if(isPressEqualsKey) { txt.value = ""; //已进行过计算,则清空数值输入框重新开始 isPressEqualsKey = false; } //数值输入已经存在小数点,则不允许再输入小数点 if(txt.value.indexOf('.') > -1 && control.value == '.') return false; txt.value += control.value; //将控件值赋给数值输入框中 } //退格键事件 function backspace() { var txt = document.getElementById('txtScream'); txt.value = txt.value.substring(0,txt.value.length - 1); } //ce键事件:清空数字输入框 function clearAll() { document.getElementById('txtScream').value = ""; result = ""; operator = ""; } // +、-、*、/ 事件 function calculation(control) { //将运算符保存入全局变量中 operator = control.value; var txt = document.getElementById('txtScream'); if(txt.value == "")return false; //数值输入框中没有数字,则不能输入运算符 //将数值输入框中的值保存到计算表达式中 result = txt.value; //清空输入框,以待输入操作值 txt.value = ""; } //计算结果 function getResult() { var opValue; //计算表达式中存在运算符 var sourseValue = parseFloat(result); var txt = document.getElementById('txtScream'); if(operator == '*') opValue = sourseValue * parseFloat(txt.value); else if(operator == '/') opValue = sourseValue / parseFloat(txt.value); else if(operator == '+') opValue = sourseValue + parseFloat(txt.value); else if(operator == '-') opValue = sourseValue - parseFloat(txt.value); txt.value = opValue; isPressEqualsKey = true; result = ""; opValue = ""; } </script> </head> <body> <table id="tbCalculator" width="200" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#0066FF"> <tr> <td height="30" colspan="4" align="center"> <input type="text" name="txtScream" id="txtScream" style="width:180px; border-style:none; text-align:right;" readonly="readonly" /> </td> </tr> <tr> <td height="30" colspan="2"> <input type="button" name="btnCE" id="btnCE" value="C E" style="width:80px;" align="right"; onclick="clearAll();" /></td> <td height="30" colspan="2"> <input type="button" name="btn10" id="btn10" value="Backspace" style="width:80px;" align="right"; onclick="backspace();" /></td> </tr> <tr> <td height="30"><input type="button" name="btn7" id="btn7" value="7" onclick="connectionDigital(this);" /></td> <td><input type="button" name="btn8" id="btn8" value="8" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn9" id="btn9" value="9" onclick="connectionDigital(this);" /></td> <td><input type="button" name="btn6" id="btn6" value="/" onclick="calculation(this);" /></td> </tr> <tr> <td height="30"> <input type="button" name="btn4" id="btn4" value="4" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn5" id="btn5" value="5" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn6" id="btn6" value="6" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn13" id="btn13" value="*" onclick="calculation(this);" /></td> </tr> <tr> <td height="30"> <input type="button" name="btn1" id="btn1" value="1" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn2" id="btn2" value="2" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn3" id="btn3" value="3" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btn18" id="btn18" value="-" onclick="calculation(this);" /></td> </tr> <tr> <td height="30"><input type="button" name="btn0" id="btn0" value="0" onclick="connectionDigital(this);"/></td> <td><input type="button" name="btndot" id="btndot" value="." onclick="connectionDigital(this);" /></td> <td><input name="btn22" type="button" id="btn22" value="=" onclick="getResult();" /></td> <td><input type="button" name="btn23" id="btn23" value="+" onclick="calculation(this);" /></td> </tr> </table> </body> </html>
以上这篇javascript实现简易计算器的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。
更多javascript实现简易计算器的代码相关文章请关注PHP中文网!

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境