美文网首页
JS链式加法实现

JS链式加法实现

作者: 斐硕人 | 来源:发表于2023-02-18 21:43 被阅读0次
  1. 方法一
const calObject = function () {
    this.num = 0
    
    this.add = function (n) {
        this.num = this.num + n
        return this
    }
    this.valueOf = function(){
        return this.num
    }
}

let obj = new calObject()
console.log(+obj.add(3).add(4)) // 7
console.log(obj.add(3).add(4)==7) // ture
  1. 方法二
const calObj = function(){
    let num = 0;
    let add = function(number){
        num += number;
        return add;
    }
    add.valueOf = function(){
        return num
    }
    return {add}    
}

const co = calObj();
console.log(+co.add(1)(3)(5)) // 9
  1. 方法三
let add = function(num){
  let temp = function(number){
    num += number
    return temp
  }
  
  temp.valueOf = function(){
    return num
  }
  
  return temp
}

console.log(+add(1)(3)(3)) // 7
console.log(add(1)(3)(3).valueOf()) // 7
  1. 方法四
const add = function(num){
    let temp = function(number){
        return add(num + number)
    }
    
    temp.valueOf = function(){
        return num
    }
    
    return temp
}

console.log(+add(1)(3)(5)) // 9
  1. 方法五
function add(...arg) {
    temp = function(...tempArg){
        if (tempArg.length === 0){
            return arg.reduce( (num,number) => num + number )
        }else{
            [].push.apply(arg, tempArg)
            return temp
        }
    }

    return temp
}

console.log(add(1)(2)(3)())

继承、闭包、递归、柯里化


相关文章

  1. JavaScript链式调用 add(1)(2)(3)循环叠加
  2. Javascript中的方法链式调用
  3. 浅析 JavaScript 中的 函数 currying 柯里化
  4. javascript中的实现链式操作
  5. 一文让你了解各种原生JS的实现方式

相关文章

  • JS链式加法实现

    方法一 方法二 方法三 方法四 方法五 继承、闭包、递归、柯里化 相关文章 JavaScript链式调用 add(...

  • js实现链式加法的思考

    由一道面试题引出的思考:实现一个add函数,支持对多个参数求和以及多次调用求各,如下效果: 对于不定参的实现,很容...

  • 自制jquery-第一篇

    1, jquery.js脚本文件 2,实现链式调用的原理 非链式调用:$xxx.addClass("active"...

  • 链式编程

    链式编程 实现一个类似于 Masonry 的链式编程,加法。 第一步 我们需要一个返回值是 Int 的方法,入参应...

  • 链式编程实现加法计算器

    链式编程:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3...

  • JavaScript 中的链式调用

    最近在看 jQuery 的源码,正好看到异步队列 Deferred 的实现,联想到链式调用的实现。 实现 在 JS...

  • 【加法笔记系列】JS 加法器模拟

    JS 加法器模拟,实现 半加器 全加器 波纹进位加法器 全部代码 补码 & 减法 常规位运算 位运算 & 简单的 ...

  • JS如何实现链式调用

    方法链,当方法的返回值是一个对象,这个对象就可以继续调用它的方法。一般当函数不需要返回值时,直接 return t...

  • js链式函数的实现:()()()

    先看一个问题 有一个函数 multiply可以无限调用,如:multiply(1,2)(4)(1,2)(),求所有...

  • Closure

    JS当中的一段实现“加法器”的代码。 显然,fiveAdder是用来每次加5的加法器,而tenAdder是用来每次...

网友评论

      本文标题:JS链式加法实现

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