全局变量javascript,java,php,所有语言

时间:2012-03-20 12:20:17

标签: java php javascript global-variables

我总是在网上看到全局变量是坏的,我知道它们很糟糕,因为每个函数都可以访问它们,如果应用程序中的每个函数都修改了全局变量,那么在大型应用程序中,它会变得很难以在代码中的特定点跟踪此变量的状态。

但我的问题是,如果我有一个变量,每个函数都需要使用,那么将它声明为全局是不是更好?而不是每次在每个函数内部都必须实例化我的变量?

此外,何时应该使用全局变量而不是局部变量?

2 个答案:

答案 0 :(得分:0)

每个变量代表一些真实或可想象的实体。如果您确定该实体是唯一的,那么可以使用静态变量。例如,screen / keybord / mouse设备用java.awt.Toolkit类型的静态变量表示(可通​​过getter访问)。 但这种情况很少见。通常,程序员会想到实体的单个实例,并为它声明一个静态变量,然后就会出现对另一个类似实体的需求,最终会出现费力的重构。

答案 1 :(得分:0)

这是代码运行时的内存利用率。 在代码运行时,您总是尝试将较少数量的对象保留在内存中。具有较小范围(方法范围)的对象将在内存中占用较少的内存,从而获得良好的内存利用率。因此需要将变量保持为必要的范围。 但是你的全局变量语句并不完全正确,因为在java中我们有访问修饰符(public,private,default等),如果任何全局变量(类变量)都有私有修饰符,那么它就不能被类外部修改。