โทรฟังก์ชัน JavaScript
มีสี่ชนิดของฟังก์ชั่นจาวาสคริปต์จะเรียกว่า
แต่ละวิธีที่แตกต่างกันที่การเริ่มต้นโหมดนี้
คำหลักนี้
โดยทั่วไปใน Javascript นี้หมายถึงฟังก์ชั่นวัตถุปัจจุบันดำเนินการ
ทราบว่านี้เป็นคำหลักที่สงวนไว้คุณจะไม่สามารถแก้ไขค่านี้ |
โทรฟังก์ชัน JavaScript
ในส่วนก่อนหน้านี้เราได้เรียนรู้วิธีการสร้างฟังก์ชั่น
รหัสฟังก์ชั่นที่จะดำเนินการหลังจากที่ฟังก์ชั่นที่เรียกว่า
ในฐานะที่เป็นฟังก์ชั่นการโทร
ตัวอย่าง
กลับ a * b;
}
myFunction (10, 2); // myFunction (10 2) ผลตอบแทน 20
ลอง»
ฟังก์ชั่นดังกล่าวข้างต้นไม่ได้อยู่กับวัตถุใด ๆ อย่างไรก็ตามใน JavaScript เป็นเสมอวัตถุทั่วโลกเริ่มต้น
ใน HTML, วัตถุทั่วโลกเริ่มต้นคือหน้า HTML ตัวเองเพื่อให้การทำงานเป็นส่วนหนึ่งของหน้าเว็บ HTML
ในหน้าต่างเบราว์เซอร์วัตถุหน้าเบราว์เซอร์ (วัตถุหน้าต่าง) มากกว่าฟังก์ชั่นอัตโนมัติกลายเป็นฟังก์ชั่นของวัตถุหน้าต่าง
myFunction () และ window.myFunction () จะเหมือนกัน:
ตัวอย่าง
กลับ a * b;
}
window.myFunction (10, 2); // window.myFunction (10 2) ผลตอบแทน 20
ลอง»
นี้เป็นวิธีการที่ใช้กันทั่วไปจะเรียกฟังก์ชัน JavaScript แต่มันไม่ดีฝึกการเขียนโปรแกรมระดับโลกตัวแปรวิธีการหรือฟังก์ชั่นน่าจะทำให้เกิดความขัดแย้งในการตั้งชื่อข้อผิดพลาด |
วัตถุทั่วโลก
เมื่อมีฟังก์ชั่นเรียกตัวเองไม่ได้เป็นวัตถุ ?, ค่านี้จะกลายเป็นวัตถุทั่วโลก
ในเว็บเบราว์เซอร์, หน้าต่างเบราเซอร์เป็นวัตถุที่ทั่วโลก (วัตถุหน้าต่าง)
ตัวอย่างของค่าตอบแทนนี้เป็นวัตถุหน้าต่าง:
ฟังก์ชั่นเป็นวัตถุทั่วโลกเพื่อเรียกนี้จะเป็นค่าของวัตถุโลก ใช้วัตถุหน้าต่างเป็นตัวแปรมีแนวโน้มที่จะทำให้โปรแกรมที่ผิดพลาด |
เป็นหน้าที่ของการเรียกวิธีการ
ใน JavaScript คุณสามารถใช้ฟังก์ชั่นที่กำหนดไว้เป็นวิธีวัตถุ
ตัวอย่างต่อไปนี้สร้างวัตถุ (myObject) วัตถุมีสองคุณสมบัติ (firstName และนามสกุล) และวิธีการ (ชื่อเต็ม):
ตัวอย่าง
ชื่อ: "จอห์น"
สกุล: "กวาง"
ชื่อเต็ม: ฟังก์ชั่น () {
กลับ this.firstName + "" + this.lastName;
}
}
myObject.fullName (); // ผลตอบแทน "จอห์นโด"
ลอง»
วิธี FULLNAME เป็นฟังก์ชั่น ฟังก์ชั่นเป็นวัตถุ myObject เป็นเจ้าของของฟังก์ชั่น
วัตถุนี้มีโค้ด JavaScript ราคา MyObject วัตถุเช่นนี้
การทดสอบดังนี้! FullName ปรับเปลี่ยนวิธีการและผลตอบแทนที่คุ้มค่านี้:
ตัวอย่าง
ชื่อ: "จอห์น"
สกุล: "กวาง"
ชื่อเต็ม: ฟังก์ชั่น () {
กลับนี้
}
}
myObject.fullName (); // ผลตอบแทน [วัตถุวัตถุ] (เจ้าของของวัตถุ)
ลอง»
ฟังก์ชั่นในฐานะที่เป็นวิธีการเรียกวัตถุดังนั้นนี้จะเป็นค่าของวัตถุเอง |
ใช้ฟังก์ชั่นคอนสตรัคโทร
หากฟังก์ชั่นที่เรียกว่าก่อนที่จะใช้คำหลักใหม่คอนสตรัคที่เรียกว่า
ดูเหมือนว่าการสร้างฟังก์ชั่นใหม่ แต่ในความเป็นจริงฟังก์ชัน JavaScript เป็นวัตถุที่สร้างขึ้นใหม่:
ตัวอย่าง
ฟังก์ชั่น myFunction (ARG1, ARG2) {
this.firstName = ARG1;
this.lastName = ARG2;
}
// นี้จะสร้างวัตถุใหม่
var x = myFunction ใหม่ ( "จอห์น", "กวาง");
x.firstName; // ผลตอบแทน "จอห์น"
ลอง»
เรียกการสร้างการสร้างวัตถุใหม่ วัตถุใหม่สืบทอดคุณสมบัติและวิธีการของตัวสร้างที่
คอนสตรัคคำหลักนี้ไม่ได้มีค่าใด ๆ ค่านี้เพื่อสร้างตัวอย่างของวัตถุ (Object ใหม่) ในสายงาน |
เป็นหน้าที่ของฟังก์ชั่นวิธีการโทร
ใน JavaScript, ฟังก์ชั่นเป็นวัตถุ ฟังก์ชัน JavaScript มีคุณลักษณะและวิธีการของ
โทร () และใช้ฟังก์ชัน () เป็นวิธีการที่กำหนดไว้ล่วงหน้า ทั้งสองวิธีสามารถใช้ในการเรียกใช้ฟังก์ชันอาร์กิวเมนต์แรกทั้งสองวิธีจะต้องเป็นวัตถุเอง
ตัวอย่าง
กลับ a * b;
}
myFunction.call (myObject, 10, 2); // ส่งกลับ 20
ตัวอย่าง
กลับ a * b;
}
myArray = [10,2];
myFunction.apply (myObject, myArray); // ส่งกลับ 20
ทั้งสองวิธีใช้วัตถุเองเป็นพารามิเตอร์แรก ความแตกต่างคืออาร์กิวเมนต์ที่สอง: รับสมัครผ่านเป็นอาร์เรย์ของพารามิเตอร์ที่เป็นเสียงส่วนใหญ่ของพารามิเตอร์รวมกันเป็นอาร์เรย์ผ่านแล้วโทรเป็นพารามิเตอร์โทรผ่าน (จากจุดเริ่มต้นของการโต้แย้งที่สอง)
ในโหมดที่เข้มงวด JavaScript (โหมดเข้มงวด) เรียกฟังก์ชันในอาร์กิวเมนต์แรกจะกลายเป็นค่านี้แม้ว่าพารามิเตอร์ที่ไม่ได้เป็นวัตถุ
ในที่ไม่ใช่ JavaScript อย่างเคร่งครัดโหมด (โหมดที่ไม่ใช่เข้มงวด) ถ้าค่าของพารามิเตอร์แรกเป็นโมฆะหรือไม่ได้กำหนดว่าจะใช้วัตถุโลกแทน
วิธีนี้คุณสามารถตั้งค่าโดยโทร () หรือนำไปใช้ () และเรียกว่าเป็นวิธีการใหม่ของวัตถุที่มีอยู่แล้ว |