⊗jsPmFNFAP 242 of 505 menu

การส่งฟังก์ชันเป็นพารามิเตอร์ใน JavaScript

ฟังก์ชันสามารถถูกส่งเป็นพารามิเตอร์ไปยังฟังก์ชันอื่นได้ เช่นเดียวกับตัวเลข สตริง และอาร์เรย์

ลองพิจารณารายละเอียดด้วยตัวอย่างเชิงปฏิบัติ สมมติว่ามีฟังก์ชัน test ที่รับ พารามิเตอร์สองตัว:

test(พารามิเตอร์1, พารามิเตอร์2);

ลองส่งฟังก์ชันที่ไม่ระบุชื่อซึ่งคืนค่า 1 ไปยังพารามิเตอร์แรกของฟังก์ชัน test และส่งฟังก์ชันที่ไม่ระบุชื่อซึ่งคืนค่า 2 ไปยังพารามิเตอร์ที่สอง:

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

โค้ดข้างต้นยังใช้งานไม่ได้ เนื่องจาก เรายังไม่ได้สร้างฟังก์ชันเอง สร้างมันขึ้นมา:

function test(func1, func2) { }

เมื่อกำหนดฟังก์ชัน เราได้ระบุพารามิเตอร์สองตัว - func1 และ func2 พารามิเตอร์เหล่านี้ ไม่รู้ว่าอะไรจะถูกส่งเข้ามาในพวกมัน เราสามารถส่งตัวเลขได้ เช่น:

test(1, 2); // เรียกใช้ฟังก์ชัน function test(func1, func2) { console.log(func1); // จะแสดง 1 console.log(func2); // จะแสดง 2 }

หรือเราสามารถส่งฟังก์ชันได้:

test( function() {return 1;}, // พารามิเตอร์แรก function() {return 2;} // พารามิเตอร์ที่สอง ); function test(func1, func2) { console.log(func1); // จะแสดง 'function() {return 1;}' console.log(func2); // จะแสดง 'function() {return 2;}' }

อย่างที่คุณเห็น ตอนนี้โค้ดต้นฉบับ ของฟังก์ชันถูกแสดงในคอนโซล ลองทำให้ มันแสดงผลลัพธ์ของฟังก์ชันเหล่านั้นแทน โดยเขียนวงเล็บให้กับฟังก์ชัน:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // จะแสดง 1 console.log( func2() ); // จะแสดง 2 }

ลองแสดงผลรวมของผลลัพธ์ จากฟังก์ชันแรกและฟังก์ชันที่สองในคอนโซล:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // จะแสดง 3 }

สร้างฟังก์ชัน test ที่รับ ฟังก์ชัน 3 ฟังก์ชันเป็นพารามิเตอร์ ส่งฟังก์ชันที่คืนค่า 1 เป็นพารามิเตอร์แรก ฟังก์ชันที่คืนค่า 2 เป็นพารามิเตอร์ที่สอง และฟังก์ชันที่คืนค่า 3 เป็นพารามิเตอร์ที่สาม แสดงผลรวมของผลลัพธ์ของฟังก์ชันในคอนโซล

ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ