局部变量和全局变量的区别
Differences between local and global variables
我正在寻找有关全局范围变量和局部范围变量之间区别的指导。谢谢。
全局变量 - 在程序开始时声明,它们的全局作用域意味着它们可以在程序中的任何过程或子程序中使用。
局部变量 - 在子程序或程序块中声明,它们的局部作用域意味着它们只能在声明它们的子程序或程序块中使用。
区别在于可以访问或修改变量的位置。 (例如在 class 的内容中)可以在 class 中的任何位置访问或修改全局变量。局部变量,如果在 class 中的函数中创建,则只能在该函数中使用。
以上 link 中的示例:
1 Module Glocals
2 Dim number1 as integer = 123 // global variable
3
4 Sub Main()
5 console.writeline(number1)
6 printLocalNumber()
7 printGlobalNumber()
8 End Sub
9
10 Sub printLocalNumber
11 Dim number1 as integer = 234 // local variable
12 console.writeline(number1)
13 End Sub
14
15 Sub printGlobalNumber
16 console.writeline(number1)
17 End Sub
18 End Module
输出将是:
123
234
123
全局范围变量可以在任何程序中使用。全局变量在任何函数之外声明。局部范围变量值仅适用于该特定范围(函数)。局部变量在该特定函数内部声明。
var fVariable = "Hello World"; //Global Scope Declaration
function printjs() {
var sVariable = "Welcome"; //Local Scope Declaration
console.log(sVariable);
console.log(fVariable);
}
printjs();
console.log(fVariable);
这里你不能在函数外打印 sVariable 的值,因为它是一个局部变量。但是你可以在函数的外部和内部打印 fVariable 的值,因为它是一个全局变量
我正在寻找有关全局范围变量和局部范围变量之间区别的指导。谢谢。
全局变量 - 在程序开始时声明,它们的全局作用域意味着它们可以在程序中的任何过程或子程序中使用。
局部变量 - 在子程序或程序块中声明,它们的局部作用域意味着它们只能在声明它们的子程序或程序块中使用。
区别在于可以访问或修改变量的位置。 (例如在 class 的内容中)可以在 class 中的任何位置访问或修改全局变量。局部变量,如果在 class 中的函数中创建,则只能在该函数中使用。
以上 link 中的示例:
1 Module Glocals
2 Dim number1 as integer = 123 // global variable
3
4 Sub Main()
5 console.writeline(number1)
6 printLocalNumber()
7 printGlobalNumber()
8 End Sub
9
10 Sub printLocalNumber
11 Dim number1 as integer = 234 // local variable
12 console.writeline(number1)
13 End Sub
14
15 Sub printGlobalNumber
16 console.writeline(number1)
17 End Sub
18 End Module
输出将是: 123 234 123
全局范围变量可以在任何程序中使用。全局变量在任何函数之外声明。局部范围变量值仅适用于该特定范围(函数)。局部变量在该特定函数内部声明。
var fVariable = "Hello World"; //Global Scope Declaration
function printjs() {
var sVariable = "Welcome"; //Local Scope Declaration
console.log(sVariable);
console.log(fVariable);
}
printjs();
console.log(fVariable);
这里你不能在函数外打印 sVariable 的值,因为它是一个局部变量。但是你可以在函数的外部和内部打印 fVariable 的值,因为它是一个全局变量