โบราณวัตถุของวัตถุใน JavaScript

ทุกตัวแปร JavaScript ยืนยันคุณสมบัติและวิธีมาจากโมเดลสืบทอดต้นตอน

ในบทที่แล้วเราได้เรียนรู้ว่าแค่ว่าจะใช้เครื่องมือสร้างตัวแปร:

ตัวอย่าง

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "green");

ลองด้วยตัวเอง

เราได้ตระหนักว่าคุณไม่สามารถเพิ่มคุณสมบัติใหม่ในเครื่องมือสร้างตัวแปรที่มีอยู่แล้ว

ตัวอย่าง

Person.nationality = "English";

ลองด้วยตัวเอง

ถ้าคุณต้องการเพิ่มคุณสมบัติใหม่ในเครื่องมือสร้างตัวแปร คุณจำเป็นต้องเพิ่มมันในฟังก์ชันเครื่องมือสร้างตัวแปร

ตัวอย่าง

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.nationality = "English";
}

ลองด้วยตัวเอง

โมเดลสืบทอดต้นตอน

ทุกตัวแปร JavaScript ยืนยันคุณสมบัติและวิธีมาจากโมเดลสืบทอดต้นตอน

วันที่ Object ตัวแปร ยืนยันมาจาก Date.prototype ตัวแปร Array ตัวแปร ยืนยันมาจาก Array.prototype ตัวแปร Person ตัวแปร ยืนยันมาจาก Person.prototype

Object.prototype ตั้งอยู่ในตำแหน่งท้ายของทางแยกร่องสืบทอด

วันที่ Object ตัวแปร Array และ Person ตัวแปร ยืนยันมาจาก Object.prototype

เพิ่มคุณสมบัติและวิธีในตัวแปร

บางครั้งคุณอยากเพิ่มคุณสมบัติ (หรือวิธี) ใหม่ในตัวแปรที่มีชนิดที่กำหนดมาแล้ว

บางครั้งคุณอาจต้องการเพิ่มคุณสมบัติ (หรือวิธี) ใหม่สำหรับตัวตั้งวัตถุ

การใช้ prototype คุณสมบัติ

JavaScript prototype ทางนี้ยังอนุญาตให้คุณเพิ่มคุณสมบัติใหม่สำหรับตัวตั้งวัตถุ

ตัวอย่าง

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";

ลองด้วยตัวเอง

JavaScript prototype ทางนี้ยังอนุญาตให้คุณเพิ่มวิธีใหม่สำหรับตัวตั้งวัตถุ

ตัวอย่าง

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
    return this.firstName + " " + this.lastName;
};

ลองด้วยตัวเอง

โปรดแก้ไขเพียงแค่ของคุณเองประกายของเรา อย่าแก้ไขประกายของวัตถุ JavaScript มาตรฐาน