
关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript的基本特性。实际上,变量是标识符的一种。本文将详细介绍变量和标识符
定义
标识符(Identifier)就是一个名字,用来对变量、函数、属性、参数进行命名,或者用做某些循环语句中的跳转位置的标记
//变量 var Identifier = 123; //属性 (new Object)Identifier = 'test'; //函数及参数 function IdentifierName(Identifier1){}; //跳转标记 Identifier: for(var i = 0; i < 5; i++){ if(i == 3){ break Identifier; } }
在日常生活中,有些东西是固定不变的,有些东西则会发生变化。例如,人的姓名和生日是固定不变的,但心情和年龄却会随着时间变化而变化。人们把那些会发生变化的东西称为变量
当程序需要将值保存起来以备将来使用时,便将其赋值给一个变量。变量(variable)是一个用于保存值的占位符,可以通过变量名称来获得对值的引用
命名规则
在词法结构一文中,我们介绍到javascript是一门区分字母大小写的语言,且和其他任何编程语言一样,javascript保留了一些标识符为自己所用,保留字不能用做普通的标识符
[注意]保留字包括关键字、未来保留字、空字面量和布尔值字面量
保留字 ReservedWord :: Keyword FutureReservedWord NullLiteral BooleanLiteral
javascript标识符名允许包含字母、数字、美元符号和下划线(但第一个字符不允许是数字)
//错误示范 6num //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,如(% + /等) sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等)
javascript允许标识符中出现 Unicode字符全集中的字母和数字(包括中文)。因此,程序员也可以使用非英语语言或数学符号来书写标识符
var 测试文字 = 'test';
看了下面楼主的提问,我明白楼主什么意思了:
可以通过static关键字修饰成员变量,static表示的意思是该成员变量为类所拥有,并不是某一具体对象所拥有,通过该类实例化的所有对象共享static修饰的成员变量,static修饰的成员变量在内存中占有一块固定的内存,所以,你可以在A中修改staitc修饰的成员变量,在B中可以看到修改的结果。如果成员变量不定义为static,那么每当你new一次,相当于给该成员变量分配一次内存,所以你在A中修改的值,在B中是无法看到修改效果的,因为你在B中也重新new了一次对象,该成员变量和A中修改的成员变量在内存中指向的并不是同一个块区域,他们分别是自己所拥有的成员变量。自然也就出现你问的问题了。
我觉得是这样的,
比如一个类Student有static变量age,那么我们可以直接用Studentage获取,此时没有任何Student对象,我认为static变量age只跟类Student相关,跟对象无关的。
你在函数中定义static变量,在定义的时候须得给他赋值,而且在程序运行中,只有第一次调这个函数时你所赋的值才有效果,之后每次调此函数,都不会重新给他赋值了(例如staitc a = 10,下次跑这个函数时不会跑这句话了。)。不过你可以在函数中改变这个值,并且这个值会被保留下来,当你下次调这个函数的时候,得到的值会是你最后给变量所赋的值。
static 变量 是可以改变的。只是在初始化时候只会赋值一次而已。。。比如你在一个函数里定义 X 变量,那么你每次调这个函数都会去定义这个变量吧,但是如果你把 X 定义为 static 类型,那么你只会第一次掉它的时候会去定义它,后面调这个函数时,X 变量就已经存在了不会再去定义。但是它的值还是可以改变的。你可以通过赋值语句改变static变量的值
以上就是关于在JAVA中,如何由字符串获取一个静态内部类内与该字符串同名的变量全部的内容,包括:在JAVA中,如何由字符串获取一个静态内部类内与该字符串同名的变量、java有A,B两个类,A类中有一个变量x,这个变量值在A类中改变了值,如何在B类中取得这、若在程序中的某一个类拥有一个static变量,是否在没有创建此类的对象时就已经存在了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)