这个代码如何改进能在点了运算符后再点第二个数字能覆盖显示框中的数字

img

img

img


这个代码如何改进能在点了运算符后再点第二个数字能覆盖显示框中的数字

设个变量判断一下是否点了运算符,如果点了,那么再点数字的时候不要拼接而是替换

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7710771
  • 这篇博客也不错, 你可以看下微信小程序之扫普通链接二维码打开小程序实现动态传递参数及踩坑总结
  • 除此之外, 这篇博客: 深入理解闭包以及闭包的使用场景中的 闭包使用场景二:封装变量 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 闭包可以将一些不希望暴露在全局的变量封装成“私有变量”。
    假如有一个计算乘积的函数,mult函数接收一些number类型的参数,并返回乘积结果。为了提高函数性能,我们增加缓存机制,将之前计算过的结果缓存起来,下次遇到同样的参数,就可以直接返回结果,而不需要参与运算。这里,存放缓存结果的变量不需要暴露给外界,并且需要在函数运行结束后,仍然保存,所以可以采用闭包。

    var mult = (function(){
        var cache = {};
        var calculate = function() {
            var a = 1;
            for(var i = 0, len = arguments.length; i < len; i++) {
                a = a * arguments[i];
            }
            return a;
        }
        
        return function() {
            var args = Array.prototype.join.call(arguments, ',');
            if(args in cache) {
                return cache[args];
            }
            
            return cache[args] = calculate.apply(null, arguments);
        }
    }())
    
  • 您还可以看一下 张旭老师的【造物者】手把手带你做快递管理系统课程中的 【造物者】第二十九节·快递员的删除小节, 巩固相关知识点