繁体   English   中英

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

[英]global variables javascript, java, php, all languages

我总是在网上读到全局变量不好,而且我理解它们很糟糕,因为每个函数都可以访问它们,并且如果应用程序中的每个函数都修改了全局变量,那么在大型应用程序中,跟踪起来会变得非常困难。该变量在代码中特定点的状态。

但是我的问题是,如果我有一个无论如何都要使用每个函数的变量,将其声明为全局变量是否更好? 不必每次在每个函数中都实例化我的变量?

另外,什么时候应该使用全局变量而不是局部变量?

每个变量代表某个真实或可想象的实体。 如果您确定实体是唯一的,则可以为其具有静态变量。 例如,屏幕/键盘/鼠标设备用java.awt.Toolkit类型的静态变量表示(可通​​过getter访问)。 但是这种情况很少见。 通常,程序员会想到实体的单个实例,并为其声明一个静态变量,然后需要另一个类似的实体,从而导致费力的重构。

这全部与代码运行时的内存利用率有关。 您总是尝试在代码运行时将较少数量的对象保存到内存中。如果对象的作用域(方法范围)较小,则对象在内存中的生存时间会减少,因此内存利用率较高。 因此需要将变量保持在必要的范围内。 但是您对全局变量的声明并不完全正确,因为在Java中我们具有访问修饰符(public,private,default等),如果任何全局变量(类变量)具有private修饰符,则无法在类外部进行修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM