nmgwddj 发表于 2010-9-9 15:13:33

问个比较弱的问题,DIM、Local、Global的区别。(已解决)

本帖最后由 nmgwddj 于 2010-9-9 15:39 编辑

如题。

我发现用哪个都可以,不知道有没有什么区别{:face (396):}

这个问题可能真的有点弱

afan 发表于 2010-9-9 15:16:25

区别在于声明局部和全局,帮助里不是有吗

水木子 发表于 2010-9-9 15:17:02

Global:全局作用域变量
Local:局部作用域变量
DIM:临时变量???

我个人理解,也不知道对不对,还望指正。
貌似这些和内存有关

nmgwddj 发表于 2010-9-9 15:25:14

惭愧,,语文学的不是很好。能给个例子看看嘛。

Duvet 发表于 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

nmgwddj 发表于 2010-9-9 15:38:22

明白明白。。感谢楼上3位的回答。。{:face (125):}
3楼很经典的例子嘛。。看来还是一时脑筋不会转弯 撞树上了!

jee1987vip 发表于 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想当于一个选则的意思

zch11230 发表于 2010-12-4 20:07:00

回复 5# Duvet


    我插勒超级明了 你要是当老师学生肯定成绩好

cf19870928 发表于 2011-8-17 09:45:46

懂了谢谢了 呵呵{:face (303):}

cf19870928 发表于 2011-8-17 09:45:50

懂了谢谢了 呵呵{:face (303):}
页: [1]
查看完整版本: 问个比较弱的问题,DIM、Local、Global的区别。(已解决)