请教一个关于变量作用域的问题
大家好!今天在看帮助文档时,看到关于变量作用域的问题,看到以下一段
........
另外我们可以使用关键字 Local 和 Global 来声明变量以 强制 变量的作用域.
.........
于是试了下
_main()
MsgBox(0, 0, $a)
Func _main()
Global $a = 1
EndFunc
提示变量未声明,为什么呢?? 回复 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 还真是...重新学习了... 回复 2# 半芯蕃茄
在帮助文档里面有这么一段
**************
在默认情况下,使用 Dim 声明的变量或在函数内部直接赋值而成的变量都是 Local(局部)变量,除非 有同名的全局变量存在(此时将视此变量为该全局变量).另外我们可以使用关键字 Local 和 Global 来声明变量以 强制 变量的作用域.
***********************
第一个例子是显而易见的,你的第二个例子只是对应了上面这段话中的蓝色部分,而我举的例子是想问:为什么上面的这段话的红色部分没有生效
页:
[1]