计算器
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 // JavaScript Document 2 window.onload = function () { //定义数组 来接收用户按的数字和计算符号 3 var way_res = []; //获取按钮对象 4 var btn_txt = document.getElementsByClassName("btn"); //获取屏幕元素 5 var txt = document.getElementsByClassName("txt")[0]; //获取清空按钮和退格按钮 6 var btn_way = document.getElementsByClassName("btn_click"); for (var i = 0; i < btn_way.length; i++) { 7 btn_way[i].onclick = function () { //判断按钮 8 if (this.value == "AC") { 9 way_res = []; 10 txt.value = ""; 11 } else { /* substr() 截断字符串 1.从那个位置开始 2.截取多少长度*/ 12 txt.value = txt.value.substr(0, txt.value.length - 1); 13 } 14 } 15 } //给btn_txt 数组对象添加事件 16 for (var i = 0; i < btn_txt.length; i++) { 17 btn_txt[i].onclick = function () { /* this 指代的是当前事件的执行对象*/ 18 /*按完键将值传给屏幕*/ 19 /*判断是否为数字*/ 20 if (txt.value == "" && this.value == ".") { 21 txt.value = "0."; 22 } else { if (!isNaN(this.value) || this.value == ".") { /*用户输入的是数字或者点的情况*/ 23 /*indexOf() 用来查找字符 如果有返回当前位置 如果没有返回-1*/ 24 if (txt.value.indexOf(".") != -1) { /*有点存在的情况*/ 25 if (this.value != ".") { /*当前按得不是点,进行拼接*/ 26 txt.value += this.value; 27 } 28 } else { /*没点存在直接拼接*/ 29 txt.value += this.value; 30 } 31 } else { /*是符号的情况*/ 32 //先存值 在清屏 33 if (this.value != "=") { /*是符号但不为等号的情况*/ 34 way_res[way_res.length] = txt.value; //存符号 35 way_res[way_res.length] = this.value; //清屏 36 txt.value = ""; 37 } else { /*是等号的情况*/ 38 way_res[way_res.length] = txt.value; //eval()方法 专门用来计算表达式的值 39 txt.value = eval(way_res.join("")); //计算完成之后将数组清空 40 way_res = []; 41 } 42 } 43 } 44 } 45 } 46 }
迷你算器
迷你计算器
人生,挫折与顺利同在,给予和索取平衡...