本题展示了一个简化版的计算器,需求如下: 1、除法操作时,如果被除数为0,则结果为0 2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5) 3、请阅读并根据提示补充完成函数initEvent、result和calculate 4、请不要手动修改html和css 5、不要使用第三方插件-笔试面试资料

这是qklbishe.com第12069 篇笔试面试资料
提供答案分析,通过本文《本题展示了一个简化版的计算器,需求如下:
1、除法操作时,如果被除数为0,则结果为0
2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5)
3、请阅读并根据提示补充完成函数initEvent、result和calculate
4、请不要手动修改html和css
5、不要使用第三方插件-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
本题展示了一个简化版的计算器,需求如下:  1、除法操作时,如果被除数为0,则结果为0  2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5)  3、请阅读并根据提示补充完成函数initEvent、result和calculate  4、请不要手动修改html和css  5、不要使用第三方插件
本题展示了一个简化版的计算器,需求如下:
1、除法操作时,如果被除数为0,则结果为0
2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5)
3、请阅读并根据提示补充完成函数initEvent、result和calculate
4、请不要手动修改html和css
5、不要使用第三方插件

JavaScript

本题展示了一个简化版的计算器,需求如下:  1、除法操作时,如果被除数为0,则结果为0  2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5)  3、请阅读并根据提示补充完成函数initEvent、result和calculate  4、请不要手动修改html和css  5、不要使用第三方插件 胡66

 var Calculator = {
    initfunction () {
        var that = this;
        if (!that.isInited) {
            that.isInited = true;
            // 保存操作信息
            // total: Number, 总的结果
            // next: String, 下一个和 total 进行运算的数据
            // action: String, 操作符号
            that.data = {total0nextaction};
            that.bindEvent();
        }
    },
    bindEventfunction () {
        var that = this;
        // 请补充代码:获取 .cal-keyboard 元素
        var keyboardEl = null;
        keyboardEl = document.getElementsByClassName("cal-keyboard")[0]//获取 .cal-keyboard 元素
        keyboardEl && keyboardEl.addEventListener(‘click’function (event) {
            // 请补充代码:获取当前点击的dom元素
            var target = null;
            target = event.target//获取当前点击的dom元素
            console.log("当前点击的对象:",target)
            // 请补充代码:获取target的 data-action 值
            var action = ;
            action = target.dataset.action;//获取target的 data-action 值
            console.log("action:",action)
            // 请补充代码:获取target的内容
            var value = ;
            value = target.innerHTML;//获取target的内容
            console.log("value:",value)
            if (action === ‘num’ || action === ‘operator’) {
                that.result(valueaction === ‘num’);
            }
        });
    },
    resultfunction (actionisNum) {
        var that = this;
        var data = that.data;
        if (isNum) {
            data.next = data.next === ‘0’ ? action : (data.next + action);
            !data.action && (data.total = 0);
        } else if (action === ‘清空’) {
            // 请补充代码:设置清空时的对应状态
            data.total = 0;
            data.next = ;
            data.action = null;
        } else if (action === ‘=’) {
            if (data.next || data.action) {
                data.total = that.calculate(data.totaldata.nextdata.action);
                data.next = ;
                data.action = ;
            }
        } else if (!data.next) {
            data.action = action;
        } else if (data.action) {
            data.total = that.calculate(data.totaldata.nextdata.action);
            data.next = ;
            data.action = action;
        } else {
            data.total = +data.next || 0;
            data.next = ;
            data.action = action;
        }
    
        // 补充代码:获取 .origin-value 元素
        var valEl = null;
        valEl = document.getElementsByClassName("origin-value")[0]
        valEl && (valEl.innerHTML = data.next || data.total || ‘0’);
        console.log("valEl:",valEl)
    },
    calculatefunction (n1n2operator) {
        n1 = +n1 || 0;
        n2 = +n2 || 0;
        if (operator === ‘÷’) {
            // 请补充代码:获取除法的结果
            if(n2==0){
                return 0;
            }else{
                if((((n1/n2).toFixed(2)).toString()).split(‘.’)[1]==’00’){
                    return (n1/n2).toFixed(0)
                }else if((n1/n2).toFixed(2).toString().split(‘.’)[1].split()[1]==‘0’){
                  return (n1/n2).toFixed(1)
                }
                else{
                    return (n1/n2).toFixed(2)
                }
            }
        } else if (operator === ‘x’) {
            // 请补充代码:获取乘法的结果
            if((((n1*n2).toFixed(2)).toString()).split(‘.’)[1]==’00’){
                    return (n1*n2).toFixed(0)
                }else if((n1*n2).toFixed(2).toString().split(‘.’)[1].split()[1]==‘0’){
                  return (n1*n2).toFixed(1)
                }
                else{
                    return (n1*n2).toFixed(2)
                }
        } else if (operator === ‘+’) {
            // 请补充代码:获取加法的结果
            return (n1+n2).toFixed(2);
        } else if (operator === ‘-‘) {
            // 请补充代码:获取减法的结果
            return (n1n2).toFixed(2);
        }
    }
};
Calculator.init();
内存老是超出,莫得办法 

2021-05-20 22:18:20 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 本题展示了一个简化版的计算器,需求如下: 1、除法操作时,如果被除数为0,则结果为0 2、结果如果为小数,最多保留小数点后两位,如 2 / 3 = 0.67(显示0.67), 1 / 2 = 0.5(显示0.5) 3、请阅读并根据提示补充完成函数initEvent、result和calculate 4、请不要手动修改html和css 5、不要使用第三方插件-笔试面试资料

提供最优质的资源集合

立即查看 了解详情