值传递与引用传递
JavaScript中有两种数据类型:基本数据类型和引用数据类型两种。
从名字上来看,大概也能猜到它们的区别:
- 基本数据类型
- 值直接存储在栈内存中
- 对于引用类型来说
- 它存储了一个引用,而真正的数据存储在堆内存中
当基本数据类型 a
赋值给另一个基本数据类型 b
时,是值传递;当 a
值变化后, b
的值并不会跟着变化:
let a = 5;
b = a; // a 赋值给b
console.log(a); // 5
console.log(b); // 5
a = 15; // a变化
console.log(a); // 15
console.log(b); // 5