Hirdetés
- Akciófigyelő: Jelentősen olcsóbban megvehető a Honor Magic8 Pro
- Kijavították az iPhone Air legfőbb hibáját
- Tanúsítvány árulta el az Oppo Find N6 töltését, jöhet a műholdas változat is
- Geekbench-en bukkant fel a OnePlus Nord 6: Snapdragon 8s Gen 4 és Android 16
- Tekintélyes kamerasziget kerül az Oppo Find X9 Ultra hátuljára
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A56 - megbízható középszerűség
- Amazfit Bip 6 - jót olcsón
- Szívós, szép és kitartó az új OnePlus óra
- Hivatalos a OnePlus 13 startdátuma
- Sony Xperia 1 V - kizárólag igényeseknek
- Másfél millió forintért már haza is vihető a Huawei aranyozott csúcsórája
- Milyen okostelefont vegyek?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Google Pixel topik
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
Ezer ilyen van a neten, de ha mar szorakoztam vele egy kicsit, akkor leirom

function Animal(breed) {
this.breed = breed;
}
function Monkey(name) {
Animal.call(this, 'mammal');
this.name = name;
}
Monkey.prototype = new Animal();
Monkey.prototype.constructor = Monkey;
var charlie = new Monkey('Charlie');
console.log(charlie.name, charlie.breed); //"Charlie" "mammal"
console.log(charlie instanceof Animal); // true
console.log(charlie instanceof Monkey); // trueEloszor csinalunk egy Animal constructor function-t (hivjuk osztalynak). Az animal osztaly nem csinal mast, csak letrehozhatunk belole a new kulcsszoval olyan objektumokat amiknek beallithatjuk a breed propertijet valamire.
Utana letrehozunk egy Monkey osztalyt amivel szinten uj objektumokat tudunk gyartani majd, amiknek nevet adhatunk. Mivel elore tudjuk, hogy minden Monkey objektum egyben egy Animal is, vagyis minden majom egy allat, ezert tudjuk, hogy a Majom osztalyt az Allat osztalybol kell majd orokoltetni. Azt is tudjuk, hogy minden majom fajtaja emlos lesz, ezert ezt mixin inheritance-el allitjuk be. Animal.call(this, 'mammal')
Monkey.prototype = new Animal();
Monkey.prototype.constructor = Monkey;A fenti ket sor szolgal arra, hogy egy is-a relaciot tudjunk felallitani a Monkey es az Animal osztaly kozott.
A mixin iheritance es a sima kozott az a kulonbseg, hogy az elobbi esetben lemasoljuk a szulo osztaly mezoit es azokat mint sajatokat hasznaljuk. Elobbi esetben explicit nem masoljuk at a propertiket, hanem referenciaval valo ramutataskor visszakeressuk oket a prototype chainben.
klasszikus eset:
============function Animal(breed) { this.breed = breed; }
function Monkey(name) { this.name = name; }
Monkey.prototype = new Animal('mammal');
Monkey.prototype.constructor = Monkey;
< var george = new Monkey('George');
> undefined
< george.breed
> "mammal"
< george
> Object { name: "George" }Ekkor azt varjuk, hogy a george objektum protipusa a Monkey prototipusara fog mutatni, aminek a prototipusa az Animal prototipusara, aminek a belso prototipusa az Object prototipusara aminek a prototipusa viszont mar nem fog masra mutatni. Ez az ugynevezett prototype chain.
< george.__proto__.__proto__.__proto__ === new Object().__proto__
> trueAz oroklodes itt JavaScriptben ugy mukodik, hogy ha leirsz egy olyat, hogy george.breed akkor eloszor megnezi a runtime, hogy a george objektumban van-e breed nevu mezo, ha van akkor visszaadja az erteket, ha nincs akkor megnezi hogy a george prototipusa mire mutat es ott is elkezd keresni. Egeszen addig visszamegy a prototype chainben amig null-hoz nem er. Ha nem talalja meg, akkor undefined-al ter vissza.
< george.gender
> undefinedUgyanigy mukodik a metoduskra valo "kereses".
< Object.prototype.dummyMethod = function() { return 'dummy'; };
> function Object.prototype.dummyMethod()
< Object.dummyMethod()
> "dummy"
Új hozzászólás Aktív témák
- Elektromos autók - motorok
- E-book olvasók
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A56 - megbízható középszerűség
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- PlayStation 5
- Kuponkunyeráló
- Gaming notebook topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gumi és felni topik
- További aktív témák...
- darkFlash GR12 Darkstorm Blue/Green
- BASEUS Compact Quick Charger 2xUSB USB-C PD 3A 30W fekete
- 360 áthajthatós! Dell Latitude 5330 2 in 1 i7-1265U 10magos! 16GB 512GB 13.3" FHD 1 év garancia
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- Akciós kisWorkstation! Dell Precision 3570 i7-1255U 4.7GHz / 32GB / 1000GB / Quadro T550 4GB FHD 15"
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



