局部变量和全局变量之间的差异

时间:2015-10-13 17:28:44

标签: scope global-variables local

我正在寻找关于全局范围变量和局部范围变量之间差异的一些指导。谢谢。

3 个答案:

答案 0 :(得分:2)

全局变量 - 在程序开始时声明,它们的全局范围意味着它们可以在程序的任何过程或子程序中使用。

局部变量 - 在子程序或编程块中声明,它们的局部范围意味着它们只能在声明它们的子程序或程序块中使用。

资源:Fundamentals of Programming: Global and Local Variables

资源:Difference Between Local and Global Variables

答案 1 :(得分:1)

区别在于可以访问或修改变量的位置。 (例如,在类的内容中)可以在类中的任何位置访问或修改全局变量。如果在类中的函数中创建局部变量,则只能在该函数中使用。

此网站提供了一个很好的解释: https://en.wikibooks.org/wiki/A-level_Computing/AQA/Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/Fundamentals_of_Programming/Global_and_Local_Variables

以上链接中的示例:

 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

答案 2 :(得分:1)

全局范围变量可以在程序中使用anyware。全局变量在任何函数之外声明。局部范围变量值仅适用于该特定范围(函数)。本地变量在该特定函数内声明。

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的值,因为它是一个全局变量