正在回答 回答被采纳积分+1
2回答
好帮手慕星星
2019-07-11 10:50:10
同学你好,看你的描述理解的可能有问题,首先看结果:
1、前面三次输出结果都是1 。这是因为每次count方法都是重新调用,重新初始化num值为1,所以num++的结果就是1 。
2、后面三次结果是累加的。这是因为count方法调用之后赋值给了全局变量fn。num是局部变量,一般count调用之后局部变量会被释放,但是返回的function中用到了num值,并且一个全局变量接收了这个function,全局变量不会自动释放,所以num值也就不会被释放了。每次调用fn的时候就会在原来的基础上加1,如果继续调用fn(),也就是第四次调用,输出的结果为4 。
自己可以测试理解下,祝学习愉快!
望采纳~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星