找回密码
 加入
搜索
查看: 1756|回复: 2

[AU3基础] [已解决]全局变量,静态变量的差异

[复制链接]
发表于 2015-10-16 08:14:41 | 显示全部楼层 |阅读模式
本帖最后由 ncxj 于 2015-10-17 13:15 编辑

static静态变量,是实验性特性.我理解为有一定的不确定性质.
既然只是实验性,我们用在程序中,是不是不如直接使用全局变量来的稳妥.所以我一般不使用.

只是我想请问一下大家,相对于使用全局变量,使用静态变量能获得哪些方面的优势?比如代码速度或者别的什么.
发表于 2015-10-16 08:58:27 | 显示全部楼层
本帖最后由 虫子樱桃 于 2015-10-16 09:08 编辑

请参考http://www.autoitx.com/forum.php ... 6679&highlight=
譬如,我们做一个记录执行次数的函数

Func _ExecuteCounter()
        Static $num = 0
        $num+=1
        Return $num
EndFunc

MsgBox(0,'',_ExecuteCounter())
MsgBox(0,'',_ExecuteCounter())
MsgBox(0,'',_ExecuteCounter())
MsgBox(0,'',_ExecuteCounter())

简单来讲,static可以看作函数内部的私有定义,而Global之类的虽然可以实现,但并不是“私有”的,可以被其他地方修改,造成程序的不确定性,所以一般都是在程序开始进行Global的申明。
 楼主| 发表于 2015-10-17 13:13:33 | 显示全部楼层
谢谢,好像是这样了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 22:53 , Processed in 0.072179 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表