JavaScript 中的值传递机制

在 JavaScript 中,所有变量在赋值时,传递的都是值的副本。这意味着,当您将一个变量的值赋给另一个变量时,实际上是创建了一个新的值副本,并将其存储在新的变量中。原始变量和新变量之间并不会相互影响。

例如,考虑以下代码:

let a = 10;
let b = a;
b = 20;
console.log(a); // 输出 10

在这个例子中,首先将变量 a 的值设置为 10。然后,将 a 的值赋给 b,此时 b 也拥有了值 10。 接着,修改 b 的值为 20,但这并不会影响 a 的值。因此,a 仍然保持为 10。

需要注意的是,对于对象和数组等引用类型,传递的也是值的副本,但这个值是对象的引用地址。这意味着,如果您修改了新变量所指向的对象,原始变量也会受到影响。

let obj1 = { value: 10 };
let obj2 = obj1;
obj2.value = 20;
console.log(obj1.value); // 输出 20

在这个例子中,obj1obj2 都指向同一个对象。因此,修改 obj2.value 也会影响 obj1.value

ppt 文件大小:121.5KB