บทความก่อนหน้านี้ได้แนะนำมรดกแบบผสมผสานและตอนนี้เราจะพูดคุยเกี่ยวกับการสืบทอดที่เหลืออยู่
มรดกต้นแบบ
เรียกฟังก์ชันและรับวัตถุที่ส่งคืนโดยฟังก์ชั่นนี้ ต้นแบบของวัตถุนี้คือวัตถุพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชัน
ชอบ:
function personobject (o) {function f () {} f.prototype = o; ส่งคืน f () ใหม่} var person = {ชื่อ: "Nicholas", เพื่อน: ["Shelby", "Court", "Van"]} var person_one = personobject (บุคคล);จากรหัสข้างต้นเรารู้ว่าบุคคลนั้นเป็นต้นแบบของ person_one ES5 ได้เพิ่มวิธีการในการรักษามรดกต้นแบบให้เป็นปกติ วิธีนี้คือ Object.create () วิธีนี้มีพารามิเตอร์สองตัว สิ่งแรกคือวัตถุเป็นต้นแบบของวัตถุใหม่เช่นบุคคลด้านบนและที่สองเป็นวัตถุที่กำหนดคุณลักษณะเพิ่มเติมสำหรับวัตถุใหม่ พารามิเตอร์ที่สองเป็นตัวเลือก
ชอบ:
var person_one = object.create (บุคคล, {ชื่อ: {value: "Jon"}});เมื่อคุณต้องการให้วัตถุหนึ่งคล้ายกับอีกวัตถุหนึ่งคุณสามารถใช้มรดกต้นแบบได้
มรดกปรสิต
ใช้การสืบทอดต้นแบบในฟังก์ชั่นจากนั้นเพิ่มคุณสมบัติและวิธีการของคุณเองลงในวัตถุที่ได้รับ
ชอบ:
ฟังก์ชั่นผู้สร้าง (o) {var person_one = personobject (o); person_one.sayhi = function () {แจ้งเตือน ("hi"); } return person_one;}การสืบทอดการรวมกันของกาฝาก
การสืบทอดการรวมกันยังมีข้อเสีย มันใช้การสืบทอดแอตทริบิวต์สองรายการและการสืบทอดการรวมกันของปรสิตเพื่อหลีกเลี่ยงปัญหานี้ อินสแตนซ์สืบทอดคุณลักษณะผ่านตัวสร้างในขณะที่วิธีการต้นแบบได้รับการสืบทอดผ่านการสืบทอดปรสิต
ชอบ:
ฟังก์ชั่นสืบทอด (ชนิดย่อย, supertype) {var prototype = object (supertype.prototype); Prototype.Constructor = ชนิดย่อย; subtype.prototype = prototype;}โดยการเรียกใช้ฟังก์ชันข้างต้นต้นแบบของ subtye.prototype คือ supertype.prototype ซึ่งเสร็จสิ้นการสืบทอดของวิธีต้นแบบ
การวิเคราะห์ JavaScript ด้านบนเกี่ยวกับการสืบทอดคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น