全局变量是什么?

更新时间:2023-03-10 09:01:06 作者:搜果百科大全

  全局变量是编程术语中的一种,源自于变量之分。变量分为局部与全局,局部变量[局部变量(Local variables)指在程序中只在特定过程或函数中可以访问的变量。]又可称之为内部变量。由某对象[对象原本是一个哲学词语,表示客体事物不以人的意志为转移而又与人的存在相关联的某种规定性。]或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

  

  全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。

 

  全局变量的存在主要有以下一些原因:

  1,使用[使用是一个汉语词汇,读音为shǐyòng,使人员、器物、资金等为某种目的的服务。]全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不应该算什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。

  2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。

  3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。

  4,当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。

  5,还可以用extern在函数外对全局变量声明,使全局变量的作用域从声明处到文件的结束。

  总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使其名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。

  全局变量在面向对象语言中的使用

  在现代的面向对象语言如Java,C++,C#,Ruby中,由于变量都是封装在类里面的,对别的类不可见,所以已经几乎完全抛弃了全局变量的概念。然而,可以通过把一个类定义为public static,把类成员变量也定义为public static,使该变量在内存中占用固定、唯一的一块空间,来实现全局变量的功能。  

  PHP中预定义了几个"超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

为您推荐

耳机有噪音怎么办?

p p1 {margin: 0 0px 0 0px 0 0px 0 0px; text-align: justify; font: 16 0px PingFang SC Semibold; color: 333333; -webkit-text-stroke: 333333}span s1 {f

2023-03-10 08:49

几种改善异常处理的技能

  改善异常[一部口味很重的日本变态cult风格恐怖片,可谓是日本版的《电锯惊魂》,主题是考验两个人的爱情在生死痛苦面前到底有多真多持久。]处理[处理是汉语词汇,读作chǔ lǐ

2023-03-10 08:48

如果手机数据线连接电脑没有反应怎么办?

手机数据线[数据线(data cable),其作用是来连接移动设备和电脑的,来达到数据传递或通信目的。]连接[机械连接比胶接或点焊等连接技术可靠,而且容易更换,所以在现代飞行器制

2023-03-10 08:47

连接显示器的笔记本电脑

  笔记本[最早是指用来记录和写日记用的纸制本子,现多指“手提式电脑”和采编读浏览器的笔记分类。]体积小,携带方便,这也就限制了不能有太大尺寸的显示频,在一些特殊的场合

2023-03-10 08:46

如何下载和安装win7电脑蓝牙驱动器?

  win7电脑[电脑(Computer)是一种利用电子学原理根据一系列指令来对数据进行处理的机器。]蓝牙[蓝牙( Bluetooth® ):是一种无线技术标准,可实现固定设备、移动设备和楼

2023-03-10 08:44

windowww设置在JS中.location.href跳转无效

JS中设置[庵顶,2000年起由庵上改名,是由以前庵顶山一庵得名,人口未知,主要由高,王,李三姓组成,农民以种葱,姜为主,依山傍水,北由汶河,交通便利,西靠青云湖路,北由滨河

2023-03-10 08:43