⊗jsPmFNOIP 250 of 505 menu

พารามิเตอร์ของฟังก์ชันภายนอกและภายในใน JavaScript

ลองทำให้ทั้งฟังก์ชันภายนอกและฟังก์ชันภายในรับพารามิเตอร์:

function test(num) { function func(localNum) { console.log(localNum); } }

ส่งพารามิเตอร์ของฟังก์ชันภายนอกไปยังการเรียกใช้งานฟังก์ชันภายใน:

function test(num) { function func(localNum) { console.log(localNum); // แสดงผล 1 } func(num); //!! ส่งผ่านพารามิเตอร์ } test(1); // ส่งผ่านพารามิเตอร์เป็นตัวเลข

ผลลัพธ์คือในฟังก์ชันภายในจะสามารถเข้าถึงตัวแปร num ในฐานะตัวแปรภายนอกจากฟังก์ชันแม่ และตัวแปร localNum ซึ่งเป็นตัวแปรท้องถิ่นของฟังก์ชันภายใน

ตัวแปรทั้งสองนี้จะมีค่าเหมือนกัน:

function test(num) { function func(localNum) { console.log(num); // แสดงผล 1 console.log(localNum); // แสดงผล 1 } func(num); } test(1);

ความแตกต่างระหว่างพวกมันจะมีดังนี้: หากในฟังก์ชันภายในเปลี่ยนตัวแปร num - มันจะเปลี่ยนในฟังก์ชันภายนอกด้วย:

function test(num) { function func(localNum) { num = 2; // เปลี่ยนตัวแปร num } func(num); // ส่งผ่านพารามิเตอร์ console.log(num); // แสดงผล 2 } test(1); // ส่งผ่านพารามิเตอร์เป็นตัวเลข

ส่วนตัวแปร localNum จะเป็นตัวแปรท้องถิ่น การเปลี่ยนแปลงของมันจะไม่นำไปสู่การเปลี่ยนแปลงใดๆ ในฟังก์ชันภายนอก และตัวแปร localNum เองก็จะไม่สามารถมองเห็นจากภายนอกฟังก์ชันภายใน:

function test(num) { function func(localNum) { localNum = 2; // เปลี่ยนตัวแปร num } func(num); // ส่งผ่านพารามิเตอร์ } test(1); // ส่งผ่านพารามิเตอร์เป็นตัวเลข

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(num); } test(1);

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(localNum); } test(1);

กำหนดโดยไม่ต้องรันโค้ด ว่าจะแสดงผลอะไรในคอนโซล:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ