北京沣登科技发展公司

j***ascript静态变量,j***ascript 静态变量

大家好,今天小编关注到一个比较意思的话题,就是关于javascript静态变量问题,于是小编就整理了3个相关介绍javascript静态变量的解答,让我们一起看看吧。

  1. 静态位变量怎么定义?
  2. static和auto变量的区别?
  3. static成员变量的作用是什么?

静态位变量怎么定义

“静态变量”这一术语有两个容易混淆的定义:

语言无关的通用定义:与程序有着相同生命周期(英语:Object lifetime)的变量;

javascript静态变量,javascript 静态变量div>
图片来源网络,侵删)

C族语言特有的定义:以static存储声明的变量。

而在以Pascal为代表的许多程序语言中,所有局部变量都由系统自动分配存储空间,而所有全局变量的存储空间则以静态分配的方式获取(对应“静态变量”),因此由于实际上“局部变量”和“全局变量”这两个术语已足以涵盖所有的情况,在这些程序语言中通常不使用“静态变量”这一术语,而直接以“全局变量”代之。一般来说,在这些程序语言中,静态变量就是全局变量,而即使在有明确区分全局和静态变量的程序语言中,在编译后的代码里二者也以相同的方式获取存储空间。而今术语“静态变量”的概念则主要基于C族语言的“static”的定义(即定义2)。

static和auto变量的区别?

自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:

javascript静态变量,javascript 静态变量
(图片来源网络,侵删)

1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。


2、static变量只赋值一次,以后就不用赋值;而auto变量在函数调用一次都要赋初值。

3、如果用户不对static变量赋初值,则默认为0或'';而auto变量为不确定值。

javascript静态变量,javascript 静态变量
(图片来源网络,侵删)

static成员变量的作用什么

1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)

当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。

2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)存储在静态数 据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存 储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底 static还是用来隐藏的。

3.static的第三个作用是默认初始化为0(static变量)其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员工作量。

4.static的第四个作用:C++中的类成员声明static

到此,以上就是小编对于j***ascript静态变量的问题就介绍到这了,希望介绍关于j***ascript静态变量的3点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/14997.html

分享:
扫描分享到社交APP