![]() |
1
0
帕特里克·罗伯茨评论中的信息几乎涵盖了这一点。 但更清楚的是,内部函数可以从封闭作用域读取变量,但不能对其进行写入,除非您声明该变量已经存在(非局部或全局关键字)。否则,写入一个变量会隐式地声明它是局部的,在b+=1的情况下,会尝试读取一个未初始化的局部变量并将其加1,但失败了。 至于为什么,当捕获一个局部值时,它会变成一个常数,这允许用不同的值构造内部函数。例如:
打电话
|