ตรวจสอบว่าตัวแปรเป็นประเภทฟังก์ชันโดยใช้ JavaScript หรือไม่

Trwc Sxb Wa Tawpaer Pen Prapheth Fangkchan Doy Chi Javascript Hrux Mi



ในขณะที่จัดการกับโค้ดที่ซับซ้อนใน 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 หรือไม่