⊗jsPmClCNL 264 of 505 menu

Biến Cục Bộ Bộ Đếm trong JavaScript

Hãy xem xét đoạn mã sau:

function test() { let num = 1; return function() { console.log(num); num++; }; } test()(); // sẽ hiển thị 1 test()(); // sẽ hiển thị 1

Tại sao luôn hiển thị số 1? Để hiểu điều này, hãy viết lại mã của chúng ta theo cách khác:

function test() { let num = 1; return function() { console.log(num); num++; }; }; let func1 = test(); //!! hàm đầu tiên func1(); //sẽ hiển thị 1 let func2 = test(); //!! hàm thứ hai func2(); //sẽ hiển thị 1

Tức là mỗi lệnh gọi hàm test theo cách này: test()(), đều tạo ra một hàm riêng với closure của nó và ngay lập tức gọi hàm đó.

Xác định, không chạy mã, điều gì sẽ được hiển thị trong bảng điều khiển:

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

Xác định, không chạy mã, điều gì sẽ được hiển thị trong bảng điều khiển:

function func() { let num = 0; return function() { console.log(num); num++; }; } let test = func; test()(); test()(); test()();
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