ในขณะที่จัดการกับโค้ดที่ซับซ้อนใน JavaScript มักจะมีความคลุมเครือในการหาความแตกต่างระหว่างฟังก์ชันอินไลน์และฟังก์ชันปกติ ตัวอย่างเช่น การตรวจสอบตัวแปรที่สร้างขึ้นขณะรันไทม์และกำหนดให้กับฟังก์ชัน ในกรณีเช่นนี้ การตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันหรือไม่โดยใช้ JavaScript ช่วยในการค้นหาและจัดเรียงข้อมูลอย่างเหมาะสม
บล็อกนี้จะสาธิตวิธีการตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript หรือไม่
วิธีตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript หรือไม่
ในการตรวจสอบ/ยืนยันว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript หรือไม่ สามารถใช้วิธีต่อไปนี้:
- ตัวดำเนินการ 'typeOf'
- ตัวดำเนินการ “อินสแตนซ์ออฟ”
- เมธอด “object.prototype.tostring.call()”
เรามาติดตามกันทีละแนวทางกันเลย!
วิธีที่ 1: ตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript โดยใช้ตัวดำเนินการ typeOf
“ ประเภทของ ” ตัวดำเนินการดึงข้อมูลชนิดข้อมูลของตัวแปร ตัวดำเนินการนี้สามารถใช้ร่วมกับตัวดำเนินการเท่ากับแบบเข้มงวด (===) เพื่อใช้ตรวจสอบกับตัวแปรเฉพาะสำหรับประเภทของมัน
ตัวอย่าง
ลองดูตัวอย่างต่อไปนี้:
< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >การทำงาน คูณ ( ก , ข ) {
กลับ ก * ข ;
}
ถ้า ( ประเภทของ คูณ === 'การทำงาน' ) {
คอนโซล บันทึก ( 'ตัวแปรเป็นประเภทฟังก์ชัน' ) ;
}
อื่น {
คอนโซล บันทึก ( 'ตัวแปรไม่ใช่ประเภทฟังก์ชัน' ) ;
}
สคริปต์ >
ทำตามขั้นตอนต่อไปนี้ตามที่ระบุในโค้ดด้านบน:
- ประกาศฟังก์ชันชื่อ “ คูณ() ” มีพารามิเตอร์ที่ระบุสำหรับการคูณสองจำนวน
- ในนิยาม ให้คูณจำนวนที่ระบุที่ส่งเป็นพารามิเตอร์ของฟังก์ชัน
- หลังจากนั้นให้ใช้ “ ประเภทของ ” ตัวดำเนินการด้วยความช่วยเหลือของตัวดำเนินการเท่ากับที่เข้มงวดเพื่อตรวจสอบว่าประเภทของตัวแปรที่ระบุคือ “ การทำงาน '.
- ดังนั้นข้อความที่เกี่ยวข้องจะแสดงตามเงื่อนไขที่พอใจหรือไม่พอใจตามลำดับ
เอาต์พุต
จากผลลัพธ์ข้างต้น สังเกตได้ว่าตัวแปร “ คูณ ” เป็นประเภทฟังก์ชัน
แนวทางที่ 2: ตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript โดยใช้ตัวดำเนินการอินสแตนซ์
“ ตัวอย่าง ตัวดำเนินการ ” ใช้เพื่อตรวจสอบประเภทของฟังก์ชัน ตัวแปร ฯลฯ เฉพาะ ณ รันไทม์ สามารถใช้ตัวดำเนินการนี้เพื่อตรวจสอบพารามิเตอร์ที่ส่งผ่านสำหรับประเภทโดยระบุประเภทที่สอดคล้องกันและใช้การตรวจสอบ
ไวยากรณ์
ชื่อ ตัวอย่าง พิมพ์ในไวยากรณ์ข้างต้น:
- “ ชื่อ ” หมายถึงชื่อของตัวแปร/ฟังก์ชัน
- “ พิมพ์ ” สอดคล้องกับประเภทของตัวแปร/ฟังก์ชัน เช่น สตริง เป็นต้น
ตัวอย่าง
ตัวอย่างด้านล่างแสดงแนวคิดที่ระบุไว้:
< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >ให้ตัวอย่างFunc = การทำงาน ( ) {
}
การทำงาน ตรวจสอบฟังก์ชั่น ( x ) {
ถ้า ( x ตัวอย่าง การทำงาน ) {
เตือน ( 'ตัวแปรเป็นประเภทฟังก์ชัน' ) ;
}
อื่น {
เตือน ( 'ตัวแปรไม่ใช่ประเภทฟังก์ชัน' ) ;
} }
ตรวจสอบฟังก์ชั่น ( ตัวอย่างFunc ) ;
สคริปต์ >
ในข้อมูลโค้ดด้านบน:
- ขั้นแรก กำหนดฟังก์ชันแบบอินไลน์ชื่อ “ ตัวอย่างFunc() '.
- หลังจากนั้นให้ประกาศฟังก์ชันอื่นชื่อ “ ตรวจสอบฟังก์ชั่น () ” มีพารามิเตอร์ที่ระบุ ในคำจำกัดความให้ใช้ ' ตัวอย่าง ” ตัวดำเนินการใน “ ถ้า / อื่น ๆ ' สภาพ. ที่นี่, ' x ” หมายถึงชื่อของพารามิเตอร์ที่ส่งผ่าน และ “ การทำงาน ” ระบุประเภทของมันตามลำดับ
- สุดท้าย เข้าถึงฟังก์ชันที่ระบุโดยส่งฟังก์ชันอินไลน์เป็นพารามิเตอร์ สิ่งนี้จะแสดงข้อความที่เกี่ยวข้องตามประเภทที่ระบุในตัวดำเนินการ
เอาต์พุต
จากผลลัพธ์ข้างต้น สังเกตได้ว่าฟังก์ชันอินไลน์ที่ระบุเป็นของ “ การทำงาน ' พิมพ์.
แนวทางที่ 3: ตรวจสอบ/ตรวจสอบว่าตัวแปรเป็นของฟังก์ชัน Type ใน JavaScript โดยใช้วิธี object.prototype.tostring.call()
“ Object.prototype.toString() วิธีการ” ใช้เพื่อส่งคืนสตริงที่สามารถเป็นตัวแทนของวัตถุ วิธีการนี้สามารถใช้ได้กับวิธีการของอ็อบเจกต์ เช่น ชนิดของอ็อบเจกต์จะถูกส่งกลับ
ตัวอย่าง
มาดูภาพรวมตัวอย่างต่อไปนี้:
< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >ให้ตัวอย่างFunc = การทำงาน ( ) { }
การทำงาน ตรวจสอบฟังก์ชั่น ( x ) {
ถ้า ( วัตถุ . ต้นแบบ . toString . เรียก ( x ) == '[ฟังก์ชันวัตถุ]' ) {
คอนโซล บันทึก ( 'ตัวแปรเป็นประเภทฟังก์ชัน' ) ;
}
อื่น {
คอนโซล บันทึก ( 'ตัวแปรไม่ใช่ประเภทฟังก์ชัน' ) ;
} }
ตรวจสอบฟังก์ชั่น ( ตัวอย่างFunc ) ;
สคริปต์ >
ทำตามขั้นตอนต่อไปนี้ตามที่ระบุไว้ในบรรทัดโค้ดด้านบน:
- ในทำนองเดียวกัน ประกาศฟังก์ชันแบบอินไลน์ชื่อ “ ตัวอย่างFunc() '.
- ในขั้นต่อไป ให้กำหนดฟังก์ชันชื่อ “ ตรวจสอบฟังก์ชั่น () ” มีพารามิเตอร์ที่ระบุ
- ในคำจำกัดความ ให้ใช้ “ Object.prototype.toString.call() ” โดยอ้างถึงพารามิเตอร์ของฟังก์ชัน “ การทำงาน ” ที่นี่แสดงถึงประเภทของฟังก์ชันเฉพาะที่จะตรวจสอบ
- ที่เพิ่ม “ ถ้า ” เงื่อนไขดำเนินการหากพารามิเตอร์ที่ส่งผ่านเป็นฟังก์ชัน
- ในอีกสถานการณ์หนึ่ง ' อื่น ” เงื่อนไขจะถูกดำเนินการ
เอาต์พุต
เอาต์พุตด้านบนบ่งชี้ว่าบรรลุฟังก์ชันที่จำเป็นแล้ว
บทสรุป
“ ประเภทของ ” โอเปอเรเตอร์, “ ตัวอย่าง ” โอเปอเรเตอร์ หรือ “ object.prototype.tostring.call() ” เมธอดสามารถตรวจสอบ/ยืนยันว่าตัวแปรเป็นประเภทฟังก์ชันใน JavaScript หรือไม่ ตัวดำเนินการ typeOf สามารถใช้ร่วมกับตัวดำเนินการเท่ากับอย่างเคร่งครัดเพื่อตรวจสอบประเภทของตัวแปร ตัวอย่างของตัวดำเนินการตรวจสอบตัวแปรที่ส่งผ่านโดยระบุประเภทที่เกี่ยวข้องและใช้การตรวจสอบกับตัวแปรนั้น เมธอด object.prototype.tostring.call() ส่งคืนชนิดของวัตถุ บทความนี้จัดเตรียมวิธีการตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันโดยใช้ JavaScript หรือไม่