这个add(x)函数如何工作?

时间:2016-05-10 21:16:42

标签: javascript function scope return closures

/**
 * File: $File:: MyFile.java$
 * ... other keywords ...
 */

有人可以解释一下, y 会发生什么?如何首次调用函数 add 返回5?它会忽略 y 还是什么?

2 个答案:

答案 0 :(得分:1)

它被称为Closure,即你可以通过嵌套函数来维持状态。

在这种情况下,在第一步中,我们将5传递给add(),然后保存状态(传递的数字)并返回使用该数字的函数。即使在第一次通话结束后,内部功能也知道该号码。

您可以在此处阅读更多内容。

https://developer.mozilla.org/en/docs/Web/JavaScript/Closures

答案 1 :(得分:1)

它被称为封闭。你应该看看"你不知道JS - 范围&封"作者:凯尔辛普森,特别是第5章。

https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20%26%20closures/ch5.md