3,值/右值 变量的值是指与这个变量相关联的存储单元的内容。可以将计算机的存储单元想象成抽象的单元,而非物理单元。 现代计算机多数以字节为单位,一个字节有八位长度。 变量的值有时也称为变量的右值(right value),因为变量常被用于赋值语句的右边(参考左值)。 4,类型 类型 决定了变量可以存储的值的范围,且定义了该类型的操作集合。 如Java中int类型占4个字节,取值范围是-2147483648~2147483647,对其可进行加减乘除及取模运算。 5,作用域 作用域是指变量的可见性问题。即决定了那些子过程和函数过程可访问该变量。 各种语言的划分也不同,如有的变量作用域分为:局部、窗体、块和全局。有的则只有局部、全局之分。 如C、C++、Java中有块级作用域,JavaScript中则没有 。 6,生存期/生命期 生存期/生命期 指的是何时创建,何时释放。生存期/生命期 与 存储绑定 密切相关。 如在Java中的一个方法中声明的一个变量,该变量在方法执行时创建,执行后释放。 view sourceprint? 1 public static void main(String[] args) { 2 String name = "jack"; 3 System.out.println(name); 4 } 又如JavaScript中 view sourceprint? 1 function func(){ 2 var name = 'jack'; 3 alert(name); 4 } 5 func(); func执行后变量name就释放了。 但 闭包 的情况可延长局部变量的生命期。 view sourceprint? 1 var getName; 2 function func(){ 3 var name = 'jack'; 4 getName = function(){ 5 return name; 6 } 7 } 8 func(); func执行后,变量name不会释放,却会等到getName生命结束。 (责任编辑:admin) |