首页 > 解决方案 > 我如何阅读这个嵌套函数?

问题描述

var e = 10;

function sum(a) {
    return function(b) {
        return function(c) {
            return function(d) {
                return a + b + c + d + e;
            }
        }
    }
}

console.log(sum(1)(2)(3)(4)); //logs 20

我不太确定如何阅读。它是一些 MDN 文档中的示例之一。你认为有可能一步一步地叙述正在发生的事情吗?

这是我认为正在发生的事情:

我以为sum(1)会返回function(b)(哪个返回function(c)哪个返回function(d)哪个返回1 + undefined + undefined + undefined + 10),但这显然是错误的。

标签: javascript

解决方案


推荐阅读