บทความนี้วิเคราะห์การใช้มรดก JS แบ่งปันสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
มรดก: คลาสย่อยไม่ส่งผลกระทบต่อคลาสแม่ subclass สามารถสืบทอดฟังก์ชั่นบางอย่างของคลาสแม่ (นำรหัสซ้ำ)
มรดกของคุณสมบัติ: เรียกตัวสร้างของคลาสแม่
วิธีการสืบทอด: สำหรับใน: คัดลอกมรดก (jQuery ยังใช้การคัดลอกการสืบทอดขยาย)
1. คัดลอกมรดก
ฟังก์ชั่นบุคคล (ชื่อ) {this.name = name;} person.prototype.showname = function () {Alert (this.name);} ผู้ปฏิบัติงานฟังก์ชั่น (ชื่อ, งาน) {person.call (ชื่อนี้); this.job = Job;} ขยาย (worker.prototype, person.prototype); // ถ้า worker.prototype = person.prototype มันจะทำให้ฟังก์ชั่นอ้างอิงเดียวกันขยาย (obj1, obj2) {สำหรับ (var i ใน obj2) {obj1 [i] = obj2 คนงาน ('MagicFly', 'Frontend'); coder.showname ();2. การสืบทอดชั้นเรียน
ฟังก์ชั่นบุคคล (ชื่อ) {this.name = name;} person.prototype.showname = function () {Alert (this.name);} ผู้ปฏิบัติงานฟังก์ชั่น (ชื่อ, งาน) {person.call (ชื่อนี้); this.job = Job;} // คนงาน prototype = บุคคลใหม่ (); // การสืบทอดจะสืบทอดคุณลักษณะที่ไม่จำเป็นของฟังก์ชันผู้ปกครอง f () {}; f.prototype = person.prototype; คนงาน คนงาน ('MagicFly', 'Start'); coder.showname ();3. การสืบทอดต้นแบบ
var a = {ชื่อ: 'xiao ming'}; var b = cloneobj (a); b.name = 'xiaoqiang'; // alert (b.name); แจ้งเตือน (a.name); function cloneobj (obj) {var f = function () {}; f.prototype = obj; ส่งคืน f () ใหม่}ใช้งานได้
คัดลอกมรดก: ประเภทวัตถุประสงค์ทั่วไปสามารถใช้เมื่อใหม่หรือไม่มีใหม่
มรดกการจำแนกประเภท: ตัวสร้างใหม่
มรดกต้นแบบ: วัตถุที่ไม่มีใหม่
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน