javascript变量

javascript变量是一种松散类型的,变量只是保存特定值的一个名字,不需要预先定义变量的数据类型,也就是说变量在整个脚本的声明周期中值和数据类型都是可变的,变量包含两种不同数据类型的值:

1、基本类型值

基本类型值指包含一些简单的数据段,主要包括Undefined、Null、Boolean、Number、String这五种基本类型,它们都是桉值访问的,也就是说可以操作保存在变量中的实际值

从一个变量向另一个变量复制基本类型的值时,会在变量对象上创建一个新值,把这个值分配到新变量的位置上,新变量时旧变量的一个副本,它们之间的值相互独立,在参与任何操作时都互不影响

2、引用类型值

引用类型值只那些包含由多个值组成的对象,引用类型的值是保存在内存中的对象,javascript不允许直接访问内存中的位置,也就是不能直接操作对象的内存空间,在实际操作对象时,操作的是对象的引用而不是实际的对象,即对象是按引用访问的

当一个变量向另一个变量复制引用类型值时,会将存储在变量对象中的值复制一份放到新变量分配的空间中,但是这里的值是一个指针,指向存储在堆中的一个对象,复制结束以后,两个变量引用的是同一个对象,改变其中一个变量,就会影响到另一个变量。

原文地址:https://www.cnblogs.com/lhyhappy365/p/5817774.html