JS1----用js实现计算器

计算器

一. 计算器的HTML部分

一些零碎的知识点
1.HTML中的知识
①cellpadding=0 cellspacing=0 单元格间距为0
②online=none 去除按钮点击后出现的蓝边框
③colspan 合并列 rowspan合并行 ( 写到td中)
④tr th td
⑤表格本身是没有边框线的,需要自己加border
⑥给文本框中加disabled表示不能输入的
2.js中的补充知识




    
    
                   //引入外部js样式
    


     //disabled不能输入的
    

计算器静态页面如图

JS1----用js实现计算器_第1张图片

二. 外部js中的内容

在header中写script或从外部引入js,都要写window.onload 表示加载完成事件
window.onload=function(){
    这里边是你的js内容
}
一 . 先解决输入数字问题

one.一些零碎要点
1.一定要用this指代当前对象
2.put.value指代点击button时input中的对象
3.isNaN()表示括号里边的是字符
two.具体思路
1.当点击button时,在input中输出button中的内容 进行拼接 put.value = put.value + this.innerHTML;
2.只有小数点和数字才可以在input中显示,其他字符无法输出 进行if语句判断(!isNaN(this.innerHTML)) || this.innerHTML=="."
3.输入数值时,0消失(首位不能为0)。输入小数点时,0保留; put.value = this.innerHTML;(这一步是重点)
大体思路:若put.value =0的话,则将button的值赋给put.value后在进行拼接(将0替代)
6.小数点只能出现一次 indexOf(".")== -1 表示小数点没有出现过,若小数点之前出现过,则不执行,不进行拼接

if((!isNaN(this.innerHTML)) || this.innerHTML==".") {
                if (this.innerHTML == ".") {
                    if(put.value.indexOf(".")==-1){
                        put.value = put.value + this.innerHTML;
                    }
                    else{}
                }
                else {       //输入的为数字
                    if (put.value == "0") {
                        put.value = this.innerHTML;
                    }
                    else {
                        put.value = put.value + this.innerHTML;
                    }
                }
            
二. 解决计算问题

① 数组赋值 temp[temp.length] = put.value
join
操作对象为一批字符串,即字符串数组
想让字符串输出为“h,m,n”的格式
对数组对象来说,相当于把数组转换为字符串
var a = ["l", "m", "n"];
console.log(a.join(",")); //l,m,n
/想让字符串输出为“lmn”的格式join是最好的选择!/
console.log(a.join(" ")); //lmn
eval 运算
substring(0,put.value.length-1); (开始,截取数量)

js中的内容

var temp=[];
var  a;
window.onload=function(){
    var btn = document.getElementsByClassName("btn");
    var put =document.getElementsByClassName("put")[0];

    for(var i=0;i

你可能感兴趣的:(javascript,js,计算器)