ການສ້າງແບບໂອລເກຣຊີ JavaScript

ໂອບາຍທັງໝົດຂອງ JavaScript ທີ່ມີການລວມຕົວກັນຈາກຕົ້ນມາຈາກ Object.prototype.

ໃນຫົວຂໍ້ກ່ອນນີ້ພວກເຮົາໄດ້ຮຽນວ່າພວກເຮົາຈະນຳໃຊ້ການສ້າງໂອບາຍ:

实例

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.prototype.

ໂອບາຍວັນມີຕົ້ນມາຈາກ Date.prototype. ໂອບາຍອານຸຍາດມີຕົ້ນມາຈາກ Array.prototype. ໂອບາຍ Person ມີຕົ້ນມາຈາກ Person.prototype.

Object.prototype ຢູ່ທີ່ສຸດຂອງຫົວເຫດການລວມຕົວກັນທີ່ມີຕົ້ນມາຈາກ Object.prototype:

ໂອບາຍວັນ, ໂອບາຍອານຸຍາດ ແລະ ໂອບາຍ 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 对象的原型。