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.