Muundo wa Kivunja cha Kikoa cha JavaScript

Tofauti ya ujumbe wa JavaScript zote zinaenea uwanja na mtu kutoka kwa asili.

Kwenye kitengo cha awali, tumekupenda kufikia jinsi ya kutumiaKuzengwa kwa ujumbe:

实例

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");

亲自试一试

Tunaeafikisha, unavyokiHauweziKuingiza uwanja mpya kwenye kuzengwa kwa ujumbe walioonesha:

实例

Person.nationality = "English";

亲自试一试

Kuwaonyesha uwanja mpya kwenye kuzengwa, lazima unwapate kwenye kuzengwa kwa mengineo wa kuzengwa:

实例

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

亲自试一试

Mabiyiko wa asili

Tofauti ya ujumbe wa JavaScript zote zinaenea uwanja na mtu kutoka kwa asili.

Ujumbe wa tarehe unaenea kutoka kwa Date.prototype. Ujumbe wa orodha unaenea kutoka kwa Array.prototype. Ujumbe wa Person unaenea kutoka kwa Person.prototype.

Object.prototype inaenea kwenye kina kuu cha mabiyiko wa asili:

Ujumbe wa tarehe, ujumbe wa orodha na ujumbe wa Person wanaanza kutoka kwa Object.prototype.

Kuingiza uwanja na mtu kwenye ujumbe

Mwaka, unavyoki kuongeza uwanja mpya (au mtu) kwa ujumbe wa aina inayotumika kwa kila ujumbe.

有时,您希望向对象构造器添加新属性(或方法)。

使用 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 对象的原型。