Javascript prototípus -, hogy a prototípus-alapú örökséget javascript

Mi a prototípus (prototípus)?

Prototype - olyan objektum, amely örökli a Holy Island egyéb tárgyak.

Minden olyan tárgy lehet egy prototípus?

Milyen tárgyak vannak a prototípusok?







Alapértelmezésben minden objektumnak van egy prototípus. A prototípus egy objektum, így ő egy prototípus.

Várj egy percet! Ismét - mi a célja?

Azt mondta, hogy minden objektumnak van egy prototípus. De ha írok (<>) .prototype kapok definiált. Mi a baj?

Tehát, oké, de hamis primitív típus, akkor miért hamis .__ proto__ visszatér.

Tehát szeretném használni prototípus örökséget. Mi a teendő?

Nézzük csak egyetértenek abban, hogy nem akarjuk használni prototípusok, hogy örökölje a tulajdonságai egy tárgy a másiktól. A végén, ez történhet egyszerű hozzáadásával tulajdonságok a céltárgy. Azonban, ha például szeretné örökli a tulajdonságait egy bizonyos gyakran használt tárgy, akkor tehetünk valamit, mint például:

Az igazi használatának előnyeit prototípusok akkor jelentkezik, ha sok objektum örökli egy és ugyanazon prototípus. Akkor nem kell aggódnia, másolás a tulajdonságok minden objektum létrehozása.

Itt csak használt tervező?

Igen. Tervező egy olyan mechanizmust biztosít hozzárendelése közös prototípus a létrehozandó objektum.

Mielőtt hozza Priver azt kell érteni, Well jelenti ingatlan constructor.prototype?







Ezért a meghatározást a következő. függvény prototípus tulajdonság olyan objektum, amely kap egy prototípus minden objektumok létre ezzel a funkciója, mint a kivitelező.

Azaz, a prototípus függvény objektum tulajdonság nem prototípus:

Ez a közmondásos példát a prototípusok:

Cool! Tehát, ha én változtatni kivitelező prototípus, minden létrehozott objektumok lesz a paszta kivitelező ezeket a változásokat?

Ez igaz, de azt kell tisztázni ... Ha változtatni magam prototípus objektum hivatkozik a prototípus ingatlan egy függvény, akkor a válasz - igen. Ez igaz, mert __proto__ objektum kifejezés arra az objektumra hivatkozott prototípus definiált függvény létrehozásakor az objektumot. Azonban, ha lecseréled a prototípus ingatlan is, így ez egy másik objektum, akkor természetesen már létrehozott tárgyak ezek a változások nem látott. Már nem számít, hogy hol referenciák Szent prototípus.

Mi az alapértelmezett prototípus?

Ez egy objektum egy egyetlen kötési th kivitelező, ami azt jelzi, a funkció:

Hogyan működik instanceof szereplő prototípus örökséget?

Expresszáltatása instanceof A azt jelenti, hogy a kötődés a prototípus (objektum, amelyhez a pont) áll az objektum prototípus láncban egy. Azaz, mi könnyen becsapni instanceof (vagy magát?):

Mi ez az egész - a prototípus lánc?

Minden objektum egy prototípus, és a prototípus, valamint a téma is van egy prototípus. Ez a szekvencia az úgynevezett egy lánc prototípusok és prototípusok. A ló minden lánc mindig a standard Object prototípus objektumot. Itt a prototípusa a standard objektum prototípusát fognak tűnni. Ez az egyetlen kivétel az általános szabály:

Prototype öröklés működik hallgatólagosan. Amikor egy bizonyos objektum zapraiivaetsya kötődését ize, akkor először ellenőrizzük közvetlenül az objektumot. Aztán, ha a kötés nem található, úgy nézett ki a prototípus objektum, és így tovább, amíg a Szent bármelyik nem található, vagy visszatér definiálatlan.

Beállítása egy objektum tulajdonságait nem befolyásolja a prototípus. Az érték van írva közvetlenül a aktív objektum. Ha meg akarja változtatni egy prototípus, szükséges kifejezetten utalna.




Kapcsolódó cikkek