Đóng cửa trong JavaScript là gì?

Nói cách khác, bao đóng được tạo khi một hàm con giữ môi trường của phạm vi cha ngay cả sau khi hàm cha đã thực thi

Ghi chú. Closure là khái niệm về hàm + môi trường từ vựng trong đó hàm được tạo. vì vậy mọi hàm được khai báo trong hàm khác thì nó có quyền truy cập vào chuỗi phạm vi của hàm bên ngoài và các biến được tạo trong phạm vi của hàm bên ngoài sẽ không bị hủy

Bây giờ hãy xem một ví dụ khác.  

ví dụ 2.   

Javascript




function foo[]4

 

foo[]5function foo[]7

foo[]8/* 1 */3 /* 2 */0

foo[]5/* 1 */6

foo[]5/* 1 */3 /* 1 */9

/* 1 */6

foo[]4 /* 2 */8

 

/* 2 */9

foo[]70

Giải trình. Trong ví dụ trên, chúng tôi đã sử dụng hàm tham số thay vì hàm mặc định. Lưu ý ngay cả khi chúng ta hoàn thành việc thực thi foo[5], chúng ta có thể truy cập biến outside_arg từ hàm bên trong. Và khi thực thi hàm bên trong, hãy tạo tổng của outside_arg và inner_arg như mong muốn.  

đầu ra.   

Bây giờ hãy xem một ví dụ về sự khép kín trong một vòng lặp.
Trong ví dụ này, chúng ta sẽ lưu trữ một hàm ẩn danh ở mọi chỉ mục của một mảng.

ví dụ 3.   

Javascript




foo[]71

function foo[]73

foo[]7

foo[]5foo[]4 foo[]77

foo[]5foo[]4 foo[]70

foo[]5foo[]72 foo[]73

foo[]5foo[]7

foo[]8foo[]77

foo[]8foo[]79function foo[]41/* 1 */3 foo[]43

foo[]5/* 1 */6

 

foo[]5____147

foo[]5/* 1 */3 foo[]70

/* 1 */6

 

foo[]4 foo[]73

 

foo[]74

foo[]75

foo[]76

foo[]77

đầu ra.  

Giải trình. Bạn đã đoán đúng câu trả lời? . Closure không nhớ giá trị của biến, nó chỉ trỏ đến biến hoặc lưu trữ tham chiếu của biến và do đó, trả về giá trị hiện tại. Trong đoạn mã trên khi chúng tôi cố gắng cập nhật giá trị của nó sẽ được phản ánh cho tất cả vì bao đóng lưu trữ tham chiếu.  

Hãy xem một cách chính xác để viết đoạn mã trên để nhận các giá trị khác nhau của i tại các chỉ mục khác nhau.  

Ví dụ 4.   

Javascript




foo[]71

function foo[]73

foo[]7

foo[]5function /* 1 */14

foo[]5foo[]7

foo[]8/* 1 */3 function/* 1 */00

foo[]8foo[]7

/* 1 */03/* 1 */3 /* 1 */05

foo[]8/* 1 */6

foo[]5/* 1 */6

foo[]5foo[]4 foo[]77

foo[]5foo[]4 foo[]70

foo[]5foo[]72 foo[]73

foo[]5foo[]7

foo[]8/* 1 */22

foo[]5/* 1 */6

foo[]5/* 1 */3 foo[]70

/* 1 */6

foo[]4 foo[]73

foo[]74

foo[]75

foo[]76

foo[]77

đầu ra.  

Giải trình. Trong đoạn mã trên, chúng tôi đang cập nhật đối số của hàm create_Closure với mỗi lệnh gọi. Do đó, chúng tôi nhận được các giá trị khác nhau của i tại các chỉ mục khác nhau

Ghi chú. Có thể hơi khó để có khái niệm về bao đóng cùng một lúc nhưng hãy thử thử nghiệm với bao đóng trong các tình huống khác nhau như để tạo getter/setter, gọi lại, v.v.  

Đóng cửa là gì?

Kết thúc là kết thúc hoặc kết thúc một điều gì đó . Nó có thể là vật chất - như việc đóng cửa thư viện địa phương của bạn - hoặc cảm xúc, như sự đóng cửa mà bạn trải qua khi cuối cùng bạn cũng chấp nhận kết thúc một mối tình lãng mạn.

Khi nào sử dụng bao đóng trong JavaScript?

Lệnh đóng trong JavaScript là gì? . Bạn sử dụng giá trị của giá trị biến được xác định bên ngoài hàm. when a function reads or modifies the value of a variable defined outside its context. You use the value of the variable value that was defined outside of the function itself.

Đóng cửa trong JavaScript Mcq là gì?

Giải thích. Sự kết hợp giữa đối tượng hàm và phạm vi [tập hợp các ràng buộc biến] trong đó các biến của hàm được giải quyết được gọi là bao đóng.

đóng cửa được sử dụng để làm gì?

Bao đóng giúp duy trì trạng thái giữa các lần gọi hàm mà không cần sử dụng biến toàn cục. Ví dụ. jav

Chủ Đề