全局变量
全局变量是编程术语中的一种,源自于变量之分。变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px 'PingFang SC'; color: #1b1b1b; -webkit-text-stroke: #1b1b1b}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px 'PingFang SC'; color: #1b1b1b; -webkit-text-stroke: #1b1b1b; background-color: #fbfbfb}span.s1 {font-kerning: none; background-color: #fbfbfb}span.s2 {font-kerning: none}全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。
全局变量的存在主要有以下一些原因:
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px 'PingFang SC'; color: #1b1b1b; -webkit-text-stroke: #1b1b1b}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px 'PingFang SC'; color: #1b1b1b; -webkit-text-stroke: #1b1b1b; background-color: #fbfbfb}span.s1 {font-kerning: none; background-color: #fbfbfb}span.s2 {font-kerning: none; color: #416ed2; -webkit-text-stroke: 0px #416ed2}span.s3 {font-kerning: none}1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不应该算什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。
2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。
3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。
4,当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
5,还可以用extern在函数外对全局变量声明,使全局变量的作用域从声明处到文件的结束。
总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使其名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。
全局变量在面向对象语言中的使用
在现代的面向对象语言如Java,C++,C#,Ruby中,由于变量都是封装在类里面的,对别的类不可见,所以已经几乎完全抛弃了全局变量的概念。然而,可以通过把一个类定义为public static,把类成员变量也定义为public static,使该变量在内存中占用固定、唯一的一块空间,来实现全局变量的功能。
PHP中预定义了几个"超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
尊敬的看官您对全局变量有什么看法呢?互联网品牌制作专家愿与您共同探讨!版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请加微信号oem365 举报,一经查实,本站将立刻删除。上一篇: JS中设置window.location.href跳转无效 返 回 下一篇:hiberfil.sys是什么文件