sách gpt4 ai đã đi

Có thu gom rác javascript nội tuyến khi thay thế nội dung tài liệu không?

In lại Tác giả: Space Dog Thời gian cập nhật: 2023-10-29 13:51:53 29 4
mua khóa gpt4 Nike

Giả sử tôi có trang web sau được viết bằng HTML (chỉ phần nội dung):



...




hàm fn() {
// làm gì đó
}


Bây giờ, nếu tôi đưa đoạn mã sau vào JavaScript tài liệu.thân của bên trongHTML Thay thế nó bằng một div, khi đó phần thân sẽ trở thành:



...


...nếu không có tham chiếu nào đến nó ở bất kỳ nơi nào khác trong phần còn lại của mã (trong bất kỳ ngữ cảnh nào),fn Sự vậtĐạt chuẩnCó thực hiện thu gom rác thải không?

1 Câu trả lời

Nếu không có tài liệu tham khảo nào khác từ bất kỳ bối cảnh nào, nội dung đó sẽ bị thu gom rác. Tuy nhiên, có một tham chiếu nhỏ vẫn giữ nguyên chức năng, đó là đối tượng cửa sổ toàn cục. Điều này là do chức năng (và toàn bộ phần tập lệnh được hiển thị) có phạm vi toàn cục. Tài liệu tham khảo này vẫn còn tồn tại.mặc dùToàn bộ innerHTML của document.body được thay thế.

Chỉ có một vài cách để giải phóng đối tượng được hiển thị trong ví dụ chính xác của bạn khỏi đối tượng toàn cục và làm cho nóĐạt chuẩnSưu tầm. Việc xóa một thuộc tính của đối tượng toàn cục không phải là một lựa chọn, vì nó được khai báo là một hàm chứ không phải là một thuộc tính.

  • Ghi đè một thuộc tính của đối tượng toàn cục bằng một thuộc tính khác. cửa sổ.fn = [][0];(phím tắt chưa xác định)
  • Việc rời khỏi trang sẽ khiến các đối tượng toàn cục đủ điều kiện để được thu gom rác.

Một lưu ý nhanh về việc thu gom rác, nó xảy ra khi trình duyệt cho là cần thiết vàSẽ khôngXảy ra ngay sau khi một đối tượng không có tham chiếu nào đến nó (hoặc ít nhất là thường không xảy ra - điều này có thể xảy ra theo thời gian).

Có thu gom rác javascript nội tuyến khi thay thế nội dung tài liệu không? , 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/31592655/

29 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com