1. โทรและใช้คำอธิบาย
1. การโทรใช้เป็นวิธีการของฟังก์ชัน prototype เนื่องจากแอตทริบิวต์ของวิธีการแน่นอนว่าพวกเขามีการกำหนดเป้าหมายวิธีการ
2. ไวยากรณ์: foo.call (this, arg1, arg2, arg3) == foo.apply (นี่, อาร์กิวเมนต์) == this.foo (arg1, arg2, arg3);
3. จุดเดียวกัน: ฟังก์ชั่นของทั้งสองวิธีเหมือนกันทุกประการ
4. คะแนนที่แตกต่างกัน: พารามิเตอร์ที่แตกต่างกันของวิธีการส่งผ่าน
2. ตัวอย่างรหัส
คัดลอกรหัสรหัสดังนี้:
<script type = "text/javascript">
ฟังก์ชัน A () {
this.flag = 'a';
this.tip = function () {{
การแจ้งเตือน (this.flag);
-
-
ฟังก์ชั่น b () {
this.flag = 'b';
-
var a = new a ();
var b = new b ();
//a.tip.call (b);
a.tip.apply (b);
</script>
ประการที่สามคำอธิบายรหัส (นั่นคือบทบาทของการสมัครและการโทร)
1. รหัสอินสแตนซ์กำหนดฟังก์ชั่นสองฟังก์ชั่น A และ B A มีคุณสมบัติการตั้งค่าสถานะและแอตทริบิวต์ TIP (แอตทริบิวต์นี้ได้รับการกำหนดฟังก์ชัน) และ B มีแอตทริบิวต์ FLAG
2. สร้างวัตถุ A และ B ของ A และ B ตามลำดับ
3. ไม่ว่าจะเป็น A.Tip.Call (B);
4. จากผลลัพธ์เราจะเห็นว่าการโทรและการใช้สามารถอนุญาตให้วิธี T ของวัตถุเรียกวัตถุ A และแก้ไขวัตถุปัจจุบันของสิ่งนี้