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
在这个例子中,obj1
和 obj2
都指向同一个对象。因此,修改 obj2.value
也会影响 obj1.value
。
121.5KB
文件大小:
评论区