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