BrightScript uses the following scoping rules:
- Global variables are not supported; however, there is a single hard-coded global variable (“global”) that is an interface to the global BrightScript object, which contains all global library functions.
- Functions declared with the
Function
statement are global in scope; however, if the function is anonymous, it will still be local in scope. - Local variables exist within the function scope. If a function calls another function, that new function has its own scope.
- Labels exist within the function scope.
- Block statements such as
For / End For
andWhile / End While
do not create a separate scope.