减少全局变量的作用域

来源:互联网 发布:mac版cdr 编辑:程序博客网 时间:2024/05/18 02:44

1.

比如有一个全局变量gt  

gt.globalVar = A



2.

UIManager = {}

UIManager.globalVar = A


这2中方法,虽然看起来没什么,但是这个全局变量确实是只在这个界面相关的逻辑中才会使用,因此这样直接封装变量到界面中,也有好处。



3.推荐做法。

今天仔细又想了想,

还是海战的做法好啊。

function MatchService:setRankInfo(rankInfo)  

self.rankInfo = rankInfo

end


这样,更好,因为网络消息发送和界面切换不同步,可能界面还没切换过来,网络消息就发送过来了。不要写gt.g_match_info = XXX,这样的写法,维护性比较低,尽量减少直接用全局变量的方式。