ฟังก์ชั่นที่ไม่ทำอะไรเลยไม่มีการโต้แย้งและคืนสิ่งใด ๆ ที่เรียกว่า a noop
หรือ no-op ตัวอย่างของ noop อยู่ด้านล่าง:
function noop(){}
http://en.wikipedia.org/wiki/NOP
ดังนั้นมีชื่อฟังก์ชั่นซึ่งมีความหมายเพียงเพื่อกลับอาร์กิวเมนต์ของมันและไม่ทำอะไรอย่างอื่น? ตัวอย่างของฟังก์ชันประเภทนี้:
function(a){return a}
1
meta.programmers.stackexchange.com/questions/6582/…
—
gnat
สำหรับผู้มีสิทธิเลือกตั้ง: นี่ไม่ใช่คำถามตามความคิดเห็น แต่ก็มีคำตอบที่ชัดเจน
—
Daenyth
@Denenyth "มันเป็นที่รู้จักกันทั่วไปว่าเป็น pass-through" - อาจจะไม่ชัดเจนเท่าที่ปรากฏ
—
gnat
@gnat pass-through ถูกใช้เพื่ออ้างถึงเมธอดในคลาสย่อยที่เรียกใช้เมธอด parent โดยไม่เปลี่ยนพารามิเตอร์หรือสิ่งที่เมธอด parent ส่งคืน แต่วิธีการขั้นสูงอาจไม่ส่งคืนสิ่งใดหรือสิ่งใดที่แตกต่างอย่างสิ้นเชิง การส่งคืนสิ่งเดียวกันที่ผ่านเข้ามาไม่ได้เป็นส่วนหนึ่งของคำจำกัดความของการส่งผ่าน หากเป็นเช่นนั้นนั่นก็เป็นเพราะวิธีหลักเท่านั้นทำเช่นนั้น ในความเป็นจริงวิธีการเรียน OO ซึ่งไม่ทำอะไรเลย แต่คืนค่าเดียวกันที่พวกเขาผ่านไปนั้นหายากมาก
—
itsbruce
@Snowman นั่นไม่ใช่คำแถลงที่มีข้อมูล ในภาษาใดก็ตามที่รองรับฟังก์ชั่นการสั่งซื้อที่สูงขึ้นซึ่งสามารถส่งคืนฟังก์ชั่นที่อาจทำสิ่งใด ๆ โดยพลการไปยังอินพุตที่กำหนดมันมีประโยชน์มากที่จะสามารถส่งคืนได้ในบางกรณีฟังก์ชั่นที่ไม่เปลี่ยนอินพุต อนุญาตให้สร้างโฟลว์ควบคุมด้วยฟังก์ชันแทนที่จะใช้คำหลัก เมื่อพับรายการ (หรือโครงสร้างอื่น ๆ ) เพื่อสร้างฟังก์ชั่นผสม (เช่นในกรณีของรายการที่แตกต่าง) ฟังก์ชั่นตัวตนมักจะเป็นค่าเมล็ดตามธรรมชาติ
—
itsbruce