添加函数的 Javascript toString 技巧。它是如何工作的?

标签 javascript

有人可以向我解释 toString 技巧在以下示例中的工作原理吗?该函数将每次调用传递的所有参数相加,因此 add(1)(2)(3); 等于 6。

jsFiddle

function add(a) {
  var sum = a;
    return function self(a) {
      sum += a;
      self.toString = function () {
          return sum;
      }
      return self;
  }
}

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

最佳答案

由于该函数是链函数,您需要返回一个要链接的函数,然后该函数返回自身。

但是,您还需要一种有意义的方式来获得其结果。

例如,在 jQuery 中,您可能会看到 .get() 用于从链式操作中提取结果。这几乎是一样的,使用 .toString() 表示“如果你把我放在需要字符串的地方,返回结果”。

关于添加函数的 Javascript toString 技巧。它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24167488/

相关文章:

javascript - 依赖顺序的异步 Javascript 文件

javascript - jquery .click 不触发

javascript - React - 从父级到子级访问函数参数

javascript - 在 TypeScript 模块中使用 jQuery 扩展 AngularJS

javascript - 未调用 AngularJS 服务

javascript - 如何在map函数内的react js上的第二个元素之后中断循环

javascript - jQuery 菜单事件链接

javascript - 响应文本大小以及图像上的绝对位置

javascript - CoffeeScript 中 $(document).on 和 ($ document).on 的区别?

javascript - 如何淡入/淡出音频 HTML5