cuốn sách gpt4 ai đã làm

Việc gán var cho var tạm thời không ngăn var gốc thay đổi

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 02:51:23 28 4
mua khóa gpt4 Nike

Chà, tràn ngăn xếp,

Tôi đã dành hàng giờ để giải quyết một vấn đề trong javascript (được viết bằng máy chủ NodeJS) nhưng tôi thực sự không hiểu nó.

Đây là những gì xảy ra:

dữ liệu var = {x: 50};
var temp = dữ liệu;
tạm thời.x = 100;
console.log(data.x);
// ghi 100

Tôi đã kiểm tra mã chính xác này và nó hiển thị 100.

Câu hỏi của tôi:

Cách sao chép một biến thành biến tạm thời và thay đổi biến tạm thời mà không thay đổi biến ban đầu.

câu trả lời hay nhất

Bạn phải sao chép đối tượng ban đầu. Điều này là do việc lưu trữ một đối tượng trong một biến khác không tạo ra một đối tượng mới có cùng thuộc tính với đối tượng trước đó, thay vào đó, nó tạo ra một đối tượng mới có cùng thuộc tính với biến trước đó; Nó chỉ tạo một tham chiếu đến cùng một đối tượng. Thật không may, không có bất kỳ giải pháp tích hợp nào cho vấn đề này, nhưng có một số giải pháp. Dưới đây là một số điều tôi nghĩ đến:

var temp = JSON.parse(JSON.stringify(data)); // sao chép đối tượng bằng cách sử dụng hack

或者:

var temp = {}; // tạo một đối tượng mới và cung cấp cho nó tất cả các thuộc tính giống như
// cái cũ.
for(prop trong dữ liệu) {
if(data.hasOwnProperty(prop)) {
temp[prop] = dữ liệu[prop];
}
}

Không phải để tự quảng cáo, nhưng tôi đã viết một bài blog về chủ đề này chi tiết hơn một chút. bạn có thể tìm thấyđây .

Về javascript - việc gán var cho var tạm thời không ngăn var ban đầu thay đổi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/13595359/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress