具体来说,一个柯里化的函数首先会接收一些参数,但并不会立即求值,而是返回另一个函数。之前传入的参数在函数形成的闭包中被保存起来,直到所有需要的参数都被传入,函数才会被真正求值。在这个例子中,demo 是一个函数,它被直接调用。接下来,如果我们想要调用另一个函数,并返回 demo 函数,以便可以再次调用 demo 函数,可以这样做。因为a,b是外层函数输入的,c,d是返回函数接收的,同时返回函数在外层函数环境内,可以取到a,b值。本质上,柯里化函数是返回了一个函数体,进而通过该函数体接收参数并进行求值计算。