Phạm vi từ vựng mô tả cách các hàm lồng nhau (còn được gọi là "con") có quyền truy cập vào các biến được xác định trong phạm vi cha Show
Trong ví dụ này, Phạm vi từ vựng của Đóng cửa trong JavaScript là gì?w3Schools. com cung cấp một định nghĩa tuyệt vời về việc đóng cửa là gì Bao đóng là một hàm có quyền truy cập vào phạm vi cha, ngay cả sau khi hàm cha đã đóng Hãy lưu ý phần đầu tiên của câu trước dấu phẩy một hàm có quyền truy cập vào phạm vi cha Đó là mô tả phạm vi từ vựng Nhưng chúng ta cần phần thứ hai của định nghĩa để đưa ra ví dụ về bao đóng ngay cả sau khi chức năng cha đã đóng Hãy xem một ví dụ về đóng cửa
Sao chép mã ví dụ ở trên và dùng thử Hãy phá vỡ những gì đang xảy ra Trong bản sửa đổi này, Do đó, khi
Thay vào đó, nó được trả lại và giữ trong Ngoài ra, chúng ta cần nhận ra rằng Dòng có 5 sẽ hiển thị trong bảng điều khiển rằng result hiện giữ giá trị hàm ẩn danh là childFunction Bây giờ, khi chúng tôi gọi 8, chúng tôi đang gọi hàm ẩn danh đã được gán cho childFunction Là con của Bao đóng mà chúng ta đã tạo bây giờ cho phép chúng ta tiếp tục tăng giá trị của biến 8Dành thời gian của bạn với việc đóng cửaĐóng cửa được coi là một khái niệm nâng cao vì lý do chính đáng Ngay cả với sự phân tích từng bước về việc đóng cửa là gì, khái niệm này có thể mất thời gian để hiểu Đừng vội hiểu và đừng khắt khe với bản thân nếu ban đầu nó không có ý nghĩa Khi bạn hiểu đầy đủ về đóng cửa, bạn có thể cảm thấy như Neo khi anh ấy nhìn thấy Ma trận. Bạn sẽ thấy các khả năng viết mã mới và nhận ra rằng chúng luôn ở đó Tôi sẽ để lại cho bạn một hướng dẫn về cách đóng cửa từ kênh YouTube của tôi. Tôi tìm hiểu sâu hơn một chút và cung cấp thêm một vài ví dụ về bao đóng để xây dựng dựa trên cuộc thảo luận trong bài viết này Hướng dẫn đóng JavascriptQUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Xin chào, tôi hiện đang làm bằng tiến sĩ về Hệ thống thông tin. Đồng thời là Kiến trúc sư & Nhà phát triển giải pháp toàn thời gian. "Phấn đấu cho sự tiến bộ, không phải sự hoàn hảo. " Theo dõi tôi trên Twitter. @yesdavidgray Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Đóng cửa hoạt động như thế nào trong JavaScript?A Closure là sự kết hợp của một hàm kèm theo các tham chiếu đến trạng thái xung quanh của nó (môi trường từ vựng). Trong JavaScript, các bao đóng được tạo mỗi khi một hàm được tạo trong thời gian chạy . Nói cách khác, bao đóng chỉ là một cái tên ưa thích cho một chức năng ghi nhớ những thứ bên ngoài được sử dụng bên trong nó.
Nhược điểm của việc đóng trong JavaScript là gì?Nhược điểm của việc đóng cửa
. Các biến được khai báo bên trong một bao đóng không được thu gom rác . Quá nhiều lần đóng có thể làm chậm ứng dụng của bạn. Điều này thực sự là do trùng lặp mã trong bộ nhớ.
Mọi chức năng có phải là một bao đóng trong JavaScript không?Nhưng như đã giải thích ở trên, trong JavaScript, tất cả các chức năng đều đóng tự nhiên (chỉ có một ngoại lệ, sẽ được đề cập trong phần "mới . Đó là. họ tự động ghi nhớ nơi chúng được tạo bằng cách sử dụng thuộc tính [[Môi trường]] ẩn và sau đó mã của họ có thể truy cập các biến bên ngoài.
ví dụ đóng cửa trong JavaScript là gì?Điều này được gọi là đóng JavaScript. Nó giúp một hàm có thể có các biến "riêng tư". Bộ đếm được bảo vệ bởi phạm vi của chức năng ẩn danh và chỉ có thể thay đổi bằng chức năng thêm. Bao đóng là một hàm có quyền truy cập vào phạm vi cha, ngay cả sau khi hàm cha đã đóng |