找回密码
 加入
搜索
查看: 2193|回复: 3

[AU3基础] 请教一个关于变量作用域的问题

  [复制链接]
发表于 2012-1-1 22:34:14 | 显示全部楼层 |阅读模式
大家好!
今天在看帮助文档时,看到关于变量作用域的问题,看到以下一段
........
另外我们可以使用关键字 Local 和 Global 来声明变量以 强制 变量的作用域.
.........

于是试了下
_main()
MsgBox(0, 0, $a)
Func _main()
        Global $a = 1
EndFunc
提示变量未声明,为什么呢??
发表于 2012-1-1 23:13:23 | 显示全部楼层
回复 1# annybaby

你看这两个输出的效果。
_main()
Global $a = 1
MsgBox(0, 0, $a)
Func _main()
        Global $a = 2
                MsgBox(0, 0, $a)
        EndFunc
和下面这个
_main()
Global $a
MsgBox(0, 0, $a)
Func _main()
        Global $a = 2
                MsgBox(0, 0, $a)
        EndFunc
发表于 2012-1-1 23:52:41 | 显示全部楼层
还真是...重新学习了...
 楼主| 发表于 2012-1-2 11:17:13 | 显示全部楼层
回复 2# 半芯蕃茄

在帮助文档里面有这么一段
**************
    在默认情况下,使用 Dim 声明的变量或在函数内部直接赋值而成的变量都是 Local(局部)变量,除非 有同名的全局变量存在(此时将视此变量为该全局变量).  另外我们可以使用关键字 Local 和 Global 来声明变量以 强制 变量的作用域.
***********************

第一个例子是显而易见的,你的第二个例子只是对应了上面这段话中的蓝色部分,而我举的例子是想问:为什么上面的这段话的红色部分没有生效
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-16 21:24 , Processed in 0.077328 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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