⊗jsPmFCCl 274 of 505 menu

Closure và Gọi Hàm Ngay Lập Tức trong JavaScript

Như bạn đã biết, có thể gọi một hàm ẩn danh ngay lập tức và gán kết quả của nó cho một biến nào đó:

let result = function() { return '!'; }(); console.log(result); // sẽ in ra '!'

Thường thì hàm được gọi ngay lập tức, trong trường hợp như vậy, được đặt trong dấu ngoặc đơn, mặc dù điều này không thực sự cần thiết. Việc này được thực hiện để có thể thấy ngay rằng hàm đang được gọi ngay lập tức:

let result = (function() { return '!'; })(); console.log(result); // sẽ in ra '!'

Bây giờ hãy để kết quả của hàm được gọi ngay lập tức là một hàm ẩn danh:

let func = (function() { return function() { console.log('!'); } })(); func(); // sẽ in ra '!'

Hãy làm sao để hàm được trả về lưu trữ biến num trong closure:

let func = (function() { let num = 1; return function() { console.log(num); } })();

Nếu thêm num++ vào, thì hàm func sẽ trở thành một bộ đếm hoàn chỉnh:

let func = (function() { let num = 1; return function() { console.log(num); num++; } })(); func(); //sẽ in ra 1 func(); //sẽ in ra 2 func(); //sẽ in ra 3 func(); //sẽ in ra 4 func(); //sẽ in ra 5

Không nhìn vào code của tôi, hãy tự mình thực hiện một bộ đếm tương tự.

Hãy sửa đổi hoạt động của bộ đếm sao cho nó đếm đến 5, sau đó bắt đầu đếm lại từ đầu.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối