Table of Contents
Hiểu được sự đóng cửa và phạm vi là thiết yếu để viết mã JavaScript hiệu quả. Những khái niệm này ảnh hưởng đến cách mà các biến số được truy cập và duy trì trong các chức năng và khối. Bài này giải thích những ý tưởng này bằng những ví dụ thực tế.
Phạm vị trong JavaScript
Phạm vi xác định nơi nào có thể truy cập trong mã. JavaScript có hai loại chính của phạm vi: toàn cục và địa phương. Các biến được tuyên bố bên ngoài bất kỳ chức năng nào là toàn cục, trong khi những chức năng được tuyên bố bên trong là cục bộ cho chức năng đó.
Phạm vi khối, được giới thiệu với hệ thống ES6, được áp dụng cho các biến đã tuyên bố [FLT: 0] và . Những biến này chỉ có thể truy cập trong khối mà chúng được định nghĩa, như trong ).
Hiểu cách che giấu
Một kết thúc xảy ra khi hàm giữ được truy cập vào các biến từ phạm vi bên ngoài của nó ngay cả sau khi hàm bên ngoài đã thực hiện xong. Tính năng này cho phép « ghi nhớ » môi trường mà chúng được tạo ra.
Việc sao chép là hữu ích cho việc sắp xếp dữ liệu và tạo biến riêng. Các chức năng được định nghĩa tự nhiên khi các chức năng được xác định bên trong các hàm khác và trở lại hoặc được chỉ định cho các biến số.
Gương mẫu thực tế
Hãy xem xét một hàm số phản vật chất đơn giản dùng để duy trì lượng của nó:
Ví dụ:
Hàm tạo raCounter (){
để đếm = 0;
chức năng trở lại
);
)
) đếm ngược lại;
[FLT:]] [FLT:]]
]] [FLT:]]] [FLT:]] [FLT:]] [FLT:]]
]] [[FLT:]]]] [[FLT:]]]] [[FLT:]]]]] [[FLT:]]]]]] [ [[FLT:]]]]]]]] [ [ [ [T:]]]]]]]]]]] [ [ [ [ [T:]]]]]]]]]]] [ [ [ [ [ [ [ [ [T:]]]]]]]]]]]]]]]]]]]]]]]]]]] [
thanh tác giả = tạo raCounter();[FLT: 0] giao diện.log( rister); / 1[FLT: 1] giao diện.log( rister); // 2
Tóm tắt
Hiểu được phạm vi giúp quản lý khả năng truy cập biến, trong khi việc đóng cửa giúp cho chức năng bảo tồn trạng thái. Cùng nhau, những khái niệm này là cơ bản để viết mã JavaScript hiệu quả.