10 of 17 menu

ข้อผิดพลาดการไม่มีแฟล็กในฟังก์ชันใน JavaScript

สมมติว่าเราต้องการสร้างฟังก์ชัน ซึ่งจะรับพารามิเตอร์เป็น ตัวเลขหนึ่งหลักและตัวเลขจำนวนหนึ่ง จากนั้นตรวจสอบว่า มีตัวเลขที่กำหนดอยู่ในจำนวนนั้นหรือไม่:

function func(needle, num) { // รหัสจะอยู่ที่นี่ }

นี่คือวิธีที่เราจะใช้ฟังก์ชันของเรา:

console.log(func('3', '12345')); // จะแสดง true

โปรแกรมเมอร์คนหนึ่งเขียนวิธีแก้ไขปัญหานี้ ดังนี้:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } else { return false; } } }

อย่างไรก็ตาม วิธีแก้นี้ทำงานไม่ถูกต้อง ประเด็นคือในลูปมีการเขียนเงื่อนไข ซึ่งในการวนซ้ำครั้งแรก จะทํางาน return หนึ่งในสองทาง ทําให้ออกจากทั้งลูปและฟังก์ชัน

มาเขียนโค้ดของเราใหม่ให้ถูกต้อง โดยใช้ แฟล็กโดยนัยในฟังก์ชัน:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } } return false; }
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ