ฉันเข้าใจว่าการส่งผ่านฟังก์ชันหนึ่งไปยังฟังก์ชันอื่นเป็นการโทรกลับและเรียกใช้งานได้ แต่ฉันไม่เข้าใจการนำไปใช้ที่ดีที่สุด ฉันกำลังมองหาตัวอย่างพื้นฐานอย่างนี้:
var myCallBackExample = {
myFirstFunction : function( param1, param2, callback ) {
// Do something with param1 and param2.
if ( arguments.length == 3 ) {
// Execute callback function.
// What is the "best" way to do this?
}
},
mySecondFunction : function() {
myFirstFunction( false, true, function() {
// When this anonymous function is called, execute it.
});
}
};
ใน myFirstFunction ถ้าฉันกลับโทรกลับใหม่ () แล้วมันจะทำงานและดำเนินการฟังก์ชั่นที่ไม่ระบุชื่อ แต่ดูเหมือนจะไม่เป็นวิธีที่ถูกต้องสำหรับฉัน
arguments
ไม่ใช่อาร์เรย์คุณยังสามารถอ้างอิงความยาวของมันได้arguments.length
- ลองทำดู คุณสมบัตินี้อ้างถึงจำนวนอาร์กิวเมนต์ที่ส่งผ่านจริงและไม่จำเป็นต้องเป็นจำนวนพารามิเตอร์ในลายเซ็นฟังก์ชัน