包含要素:变量名、变量值、数据类型、该变量的存储地址
var age;
注意:
变量定义规范写法为 -> var age=1;
不正确写法为:age=1,这种方式有可能是赋值而非定义变量
变量声明以后,js创建一个变量,为变量申请空间,然后获得地址,变量age的地址属性的值就是内存中的地址,因此,变量名并不直接体现变量的值,只体现变量在内存中的位置。
var a = 3;
建立变量a,申请内存空间,变量指向该内存空间,然后把3存储到相应内存空间
var b = a;
建立变量b,申请内存空间,变量指向该内存空间,然后获取a对应的内存中的值,存储到b的相应空间
命名规范
组成仅限字母、下划线、数字、$,不能以数字为开头,区分大小
变量类型:包含基本类型和衍生(有些称做复合)类型
基本类型:数值、字符串、布尔值、空值(内存中有地址)、undefined(从来不存在的东东)
undefined 内存中无地址(手中没有银行卡)null 内存中有地址(手中有银行卡,但是没钱)
衍生类型:数组、对象、函数
其他相关
内存垃圾回收:当任何内存地址指向该空间,则被自动回收,即资源被释放
传递赋值:把a的值读出来存到b的内存空间,这个变量相互独立,修改互不影响
引用赋值:两个变量同时指向同一个内存,修改后相互影响,在javascript中,数组、对象、函数默认是引用传值