// 示例代码:JS 对象赋值
// 1. 直接赋值
let obj1 = { name: "Alice", age: 25 };
let obj2 = obj1;
// 解释:obj2 和 obj1 指向同一个对象,修改其中一个会影响另一个
obj2.age = 30;
console.log(obj1.age); // 输出 30
// 2. 使用 Object.assign() 进行浅拷贝
let obj3 = { name: "Bob", age: 30 };
let obj4 = Object.assign({}, obj3);
// 解释:obj4 是 obj3 的浅拷贝,修改 obj4 不会直接影响 obj3
obj4.age = 35;
console.log(obj3.age); // 输出 30
console.log(obj4.age); // 输出 35
// 3. 使用扩展运算符进行浅拷贝
let obj5 = { name: "Charlie", age: 40 };
let obj6 = { ...obj5 };
// 解释:obj6 是 obj5 的浅拷贝,修改 obj6 不会直接影响 obj5
obj6.age = 45;
console.log(obj5.age); // 输出 40
console.log(obj6.age); // 输出 45
// 4. 深拷贝(使用 JSON 方法)
let obj7 = { name: "David", age: 50, address: { city: "New York" } };
let obj8 = JSON.parse(JSON.stringify(obj7));
// 解释:obj8 是 obj7 的深拷贝,修改 obj8 不会直接影响 obj7,包括嵌套的对象
obj8.address.city = "Los Angeles";
console.log(obj7.address.city); // 输出 New York
console.log(obj8.address.city); // 输出 Los Angeles
上一篇:js tofixed
下一篇:js blob对象
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站