找回密码
 加入
搜索
查看: 5753|回复: 10

[系统综合] 问个比较弱的问题,DIM、Local、Global的区别。(已解决)

  [复制链接]
发表于 2010-9-9 15:13:33 | 显示全部楼层 |阅读模式
本帖最后由 nmgwddj 于 2010-9-9 15:39 编辑

如题。

我发现用哪个都可以,不知道有没有什么区别

这个问题可能真的有点弱

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-9-9 15:16:25 | 显示全部楼层
区别在于声明局部和全局,帮助里不是有吗
发表于 2010-9-9 15:17:02 | 显示全部楼层
Global:全局作用域变量
Local:局部作用域变量
DIM:临时变量???

我个人理解,也不知道对不对,还望指正。
貌似这些和内存有关
 楼主| 发表于 2010-9-9 15:25:14 | 显示全部楼层
惭愧,,语文学的不是很好。能给个例子看看嘛。
发表于 2010-9-9 15:33:08 | 显示全部楼层
本帖最后由 Duvet 于 2010-9-9 15:59 编辑

http://www.autoitx.com/Doc/html/keywords/dim.htm

;Dim 變量名稱已存在就維持原本的 不存在則定義為區域
;您应该更多的使用 Local 或者 Global, 而不是 Dim, 这样能够更清楚的了解每个已经声明的 变量/常数/数组的作用范围.

Global $i=1
_Test1()
_Test2()
_Test3()
_Test4()
Exit

Func _Test1()
        Dim $i=2
        MsgBox(0,"將全局變量的 $i 值改為2",$i)
        Dim $j=1
        MsgBox(0,"$j 定義為區域",$j)
EndFunc

Func _Test2()
        MsgBox(0,"","Call _Test1 後 $i 仍存在"&@CRLF&"$i 的值: "&Eval("i")&@CRLF&@CRLF&"$j 則不存在"&@CRLF&"$j 的值: "&Eval("j"))
EndFunc

Func _Test3()
        Local $i=1
        MsgBox(0,"這邊 $i 定義為區域,不影響 Global $i 的值",$i)
EndFunc

Func _Test4()
        MsgBox(0,"全局的 $i 仍不變",$i)
EndFunc

评分

参与人数 1金钱 +30 收起 理由
pusofalse + 30

查看全部评分

 楼主| 发表于 2010-9-9 15:38:22 | 显示全部楼层
明白明白。。感谢楼上3位的回答。。
3楼很经典的例子嘛。。看来还是一时脑筋不会转弯 撞树上了!
发表于 2010-12-1 14:21:45 | 显示全部楼层
zuo yong yu fan wei
发表于 2010-12-3 02:52:11 | 显示全部楼层
DIM当前变量、Local本地变量、Global全局变量
GLOBAL这个是最好理解的就是在整个代码中都可用
dim和local容易混,dim是如果原来有声明就用原来的,没有则用本地的,也就是说dim想当于一个选则的意思
发表于 2010-12-4 20:07:00 | 显示全部楼层
回复 5# Duvet


    我插勒  超级明了 你要是当老师学生肯定成绩好
发表于 2011-8-17 09:45:46 | 显示全部楼层
懂了  谢谢了 呵呵
发表于 2011-8-17 09:45:50 | 显示全部楼层
懂了  谢谢了 呵呵
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-10 16:32 , Processed in 0.085847 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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