美文网首页
06.实现一个累加器

06.实现一个累加器

作者: 张先觉 | 来源:发表于2020-11-14 10:32 被阅读0次
  • 使用构造函数和对象的方式,实现累加器:本质上还是闭包
function Compute() {
    var result = 0;
    // 累加
    this.add = function () {
        result = 0;
        return loop(arguments, "add", result);
    };

    // 累乘
    this.mul = function () {
        result = 1;
        return loop(arguments, "mul", result);
    };

    // 处理函数
    function loop(args, methods, result) {
        for (var i = 0; i < args.length; i++) {
            var item = args[i];  // for循环小技巧

            switch (methods) {
                case "add":
                    result += item;
                    break;
                case "mul":
                    result *= item;
                    break;
            }
        }
        return result;
    }
// 隐式return this; 本质上还是闭包
}

var computer = new Compute();
console.log(computer.add(1, 2, 3));
console.log(computer.mul(1, 2, 3, 4, 5));

  • 使用闭包实现一个累加器闭包
// 实现一个累加器

function computer(){
    var num = 0;
    function add() {
        console.log(++num);
    }
    return add;
}

// 累加10次
var n = 10,
    add = computer();
while(n--) {
    add();
}

相关文章

  • 06.实现一个累加器

    使用构造函数和对象的方式,实现累加器:本质上还是闭包 使用闭包实现一个累加器闭包

  • Spark累加器

    1. spark 累加器的原理: 2. 系统累加器 2. 自定义累加器(实现单词统计的累加)

  • C++的类

    今天我们通过一个C++实现的累加器来学习类的语法,用法,以及内部成员、函数。下面是一个C++实现的累加器。 首先类...

  • 4.2 需求1实现

    一、实现 二、使用累加器进行优化

  • Java Stream 计算总和 Stream聚合函数对BigD

    // 获得列表对象金额, 使用reduce聚合函数,实现累加器BigDecimal sum = myList.st...

  • 09-flink-Accumulator(累加器)

    09-flink-Accumulator(累加器) 概念 Accumulator(累加器):累加器主要作用在用户操...

  • MongoDB聚合管道——累加器(转)

    累加器(Accumulators) 累加器本来只能使用与project。当在project中使用时,累加器则是针对...

  • Spark—累加器

    spark累加器 累加器是一种共享变量,提供了将工作节点中的值聚合到驱动器程序中的简单语法。累加器的一个常见用途是...

  • 实现一个累加器sum(n)

    面试中遇到过几次的问题,记录下来方便以后查看。(今日头条面试题)实现一个累加器sum(n),使得sum(1) 输入...

  • Spark累加器(Accumulator)

    什么是累加器 累加器:分布式共享只写变量。(Executor和Executor之间不能读数据)累加器用来把Exec...

网友评论

      本文标题:06.实现一个累加器

      本文链接:https://www.haomeiwen.com/subject/iblebktx.html