计算器

 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     }
computer

 

迷你算器

迷你计算器

©anying 独家收藏

posted @ 2017-05-05 17:52  暗影玄极  阅读(169)  评论(1编辑  收藏  举报