Global 定义全局变量

🎯功能​

定义全局变量, 作用范围是同个脚本内多条线程有效, 停止脚本后清除.

📜语法​

Global 变量名

📥参数​

参数数据类型解释变量名标识符任意有效标识符

📤返回​

💡示例​

Dim aGlobal env_a, env_b(1)a = "普通变量"env_a = "环境变量"env_b(0) = "环境数组0"env_b(1) = "环境数组1"TracePrint "主线程中a = " & aTracePrint "主线程中env_a = " & env_aTracePrint "主线程中env_b(0) = " & env_b(0)TracePrint "主线程中env_b(1) = " & env_b(1)BeginThread 线程取值Delay 1000TracePrint "修改后主线程中a = " & aTracePrint "修改后主线程中env_a = " & env_aTracePrint "修改后主线程中env_b(0) = " & env_b(0)TracePrint "修改后主线程中env_b(1) = " & env_b(1)Sub 线程取值() TracePrint "子线程中a = " & a TracePrint "子线程中env_a = " & env_a TracePrint "子线程中env_b(0) = " & env_b(0) TracePrint "子线程中env_b(1) = " & env_b(1) TracePrint "子线程修改值" a = "修改后a" env_a = "修改后环境a" env_b(0) = "修改后环境数组0" env_b(1) = "修改后环境数组1" TracePrint "修改后子线程中a = " & a TracePrint "修改后子线程中env_a = " & env_a TracePrint "修改后子线程中env_b(0) = " & env_b(0) TracePrint "修改后子线程中env_b(1) = " & env_b(1)End Sub

📘备注​

global 和 dimenv 和 dim 和 省略定义的变量 的区别如下

Dim 作用域最小, 仅对当前子程序或当前线程有效, 省略定义的变量 作用域对当前线程有效, Global 作用域为当前脚本所有线程, DimEnv 作用域最大, 对按键精灵所有脚本有效

省略定义的变量 和 Dim 和 Global 在停止脚本后数据会被清除, 但 DimEnv 只有彻底关闭按键精灵软件后数据才会被清除

作用域越小的变量, 访问数据速度越快, 所以尽量使用合适的作用域定义变量