⊗jsPmFNFAP 242 of 505 menu

Truyền hàm làm tham số trong JavaScript

Các hàm, giống như số, chuỗi và mảng, có thể được truyền như tham số vào các hàm khác.

Chúng ta hãy xem xét kỹ hơn bằng một ví dụ thực tế. Giả sử chúng ta có hàm test, nhận hai tham số:

test(thamso1, thamso2);

Hãy truyền vào tham số đầu tiên của hàm test một hàm ẩn danh, trả về 1, và vào tham số thứ hai - một hàm ẩn danh trả về 2:

test( function() {return 1;}, function() {return 2;} );

Đoạn mã trên hiện chưa hoạt động, vì chúng ta chưa tạo ra chính hàm đó. Hãy tạo nó:

function test(func1, func2) { }

Khi định nghĩa hàm, chúng ta đã chỉ định hai tham số - func1func2. Các tham số này không biết gì về việc cái gì sẽ được truyền vào chúng. Chúng ta có thể, ví dụ, truyền số:

test(1, 2); // gọi hàm function test(func1, func2) { console.log(func1); // sẽ in ra 1 console.log(func2); // sẽ in ra 2 }

Và chúng ta cũng có thể truyền hàm:

test( function() {return 1;}, // tham số đầu tiên function() {return 2;} // tham số thứ hai ); function test(func1, func2) { console.log(func1); // sẽ in ra 'function() {return 1;}' console.log(func2); // sẽ in ra 'function() {return 2;}' }

Như bạn thấy, bây giờ console in ra mã nguồn của các hàm. Hãy làm sao để nó in ra kết quả của chúng. Để làm điều này, hãy thêm dấu ngoặc tròn cho các hàm:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // sẽ in ra 1 console.log( func2() ); // sẽ in ra 2 }

Hãy in ra console tổng kết quả của hàm thứ nhất và hàm thứ hai:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // sẽ in ra 3 }

Tạo hàm test, nhận làm tham số 3 hàm. Truyền vào nó, tham số đầu tiên là hàm trả về 1, thứ hai - hàm trả về 2, thứ ba - hàm trả về 3. In ra console tổng kết quả của các hàm.

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