| 原始值 | 引用值 | 传递参数 |
|---|---|---|
| 按值访问 | 按引用访问 | 按值访问 |
| 通过变量把一个原始值赋值到另一个变量时,原始值会被复制到新变量的位置。 | 引用值从一个变量赋给另一个变量时,存储在变量中的值也会被复制到新变量所在的位置。 | 所有函数的参数都是按值传递的。这意味着函数外的值会被复制到函数内部的参数中,就像从一个变量复制到另一个变量一样。如果是原始值,那么就跟原始值变量的复制一样,如果是引用值,那么就跟引用值变量的复制一样。 |
| 这两个变量可以独立使用,互不干扰。 | 区别在于,这里复制的值实际上是一个指针,它指向存储在堆内存中的对象。操作完成后,两个变量实际上指向同一个对象,因此一个对象上面的变化会在另一个对象上反映出来 | ![]() ![]() |


