1

基本数据类型
Null Undefined Number String Boolean
基本数据类型是按值访问,所以可以直接操作在变量中对应的值。

内容复制:复制的时候会在栈中开辟一块新的空间去存储原来的 “变量” 与 “内容”,复制后的两个值与变量互不影响。

clipboard.png

传递参数:通过按值传递的,类似于的复制一样。

复杂数据类型(引用数据类型)
Object 包括(Function Array Date)
复杂数据类型的内容保存在 内存对象 中,但是js不允许直接访问内存位置,所以就不能直接操作对象的值,因为在操作的时候,实际上操作的是对象的引用。所以 复杂数据类型是按照引用访问的 ,所以被称为引用数据类型。

内容复制:当复制一个复杂数据类型的值时,同样跟基本数据类型一样会将 “变量” 与 “内容” 在存储在新的变量中。但是 这个“内容”的实际上是一个指针,而且指针指向存储在堆中的一个对象。所以当复制结束后,两个变量都指向同一个对象。因此在改变其中一个对象的时候,另外一个也会受影响。

clipboard.png

传递参数:通过按值传递的,虽然是复杂数据类型,但是传值也是按值传递的,有点骚东西是:

clipboard.png


kkw凯凯王
42 声望2 粉丝