⊗jsPmFNFRF 252 of 505 menu

Hàm trả về hàm trong JavaScript

Giả sử chúng ta có một hàm như thế này, trả về một chuỗi:

function func() { return '!'; } let result = func(); console.log(result); // sẽ hiển thị '!'

Bây giờ, thay vì một chuỗi, tương tự như vậy, hãy trả về một hàm ẩn danh:

function func() { return function() { return '!'; }; } let result = func(); // biến result sẽ là một hàm console.log(result); // sẽ hiển thị 'function() {return '!';}'

Như bạn thấy, biến result bây giờ là một hàm. Hãy in ra console kết quả thực thi của nó. Để làm điều đó, chúng ta thêm dấu ngoặc đơn:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // sẽ hiển thị '!'

Vì lệnh gọi func() trả về một hàm, nên chúng ta có thể ngay lập tức gọi hàm được trả về đó, như thế này: func()() - cặp dấu ngoặc đơn đầu tiên nhận được kết quả của hàm func (bản thân kết quả này là một hàm), và cặp dấu ngoặc đơn thứ hai được áp dụng cho kết quả của func.

Hãy thử:

function func() { return function() { return '!'; }; } console.log( func()() ); // sẽ hiển thị '!'

Tạo hàm func1, sao cho khi được gọi như thế này: func1()(), sẽ trả về số 1. Tạo một hàm tương tự func2, trả về số 2. Tìm tổng kết quả của các hàm này.

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