问题:为什么fa( ) 里的第一行a = 10不是每次fm调用fa( )时都运行一次?
解答:因为fa( )返回的是fb( ),fm其实每次调用的是fb( ) ,第一次调用fb( )时,a没有初值,它会向上找,找到a=10。之后再调用fb时,a已经有值了,就不用再向上找了,也就不执行第一行a=10的语句了。
问题:为什么fa( ) 里的第一行a = 10不是每次fm调用fa( )时都运行一次?
解答:因为fa( )返回的是fb( ),fm其实每次调用的是fb( ) ,第一次调用fb( )时,a没有初值,它会向上找,找到a=10。之后再调用fb时,a已经有值了,就不用再向上找了,也就不执行第一行a=10的语句了。