ການສ້າງແບບໂອລເກຣຊີ 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 对象的原型。