但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数!
注意这里用了一个“创建一个匿名函数并立刻执行”的语法:
理论上讲,创建一个匿名函数并立刻执行可以这么写:
但是由于JavaScript语法解析的问题,会报SyntaxError错误,因此需要用括号把整个函数定义括起来:
通常,一个立即执行的匿名函数可以把函数体拆开,一般这么写:
说了这么多,难道闭包就是为了返回一个函数然后延迟执行吗?
当然不是!闭包有非常强大的功能。
举个栗子:
它用起来像这样:。