Hirdetés

Új hozzászólás Aktív témák

  • Jim-Y

    veterán

    Estét

    Lenne egy kérdésem, van egy probléma, amire szeretnék rájönni, sikerült kitalálni, hogy hogy működjön úgy, ahogy szeretném, és szeretnék magyarázatot kapni arra, hogy miért működik jól :D

    Kód:
    function People(){
    this.name = "Im a people";
    this.info = "People";
    }

    function Person(name){
    this.name = name || this.name;
    this.gender = "Male" || "Women";
    }

    Person.prototype = new People();
    var attila = new Person();

    for(var props in attila){
    console.log(attila[props]);
    }

    Ha a Person-t paraméter nélkül hívom meg, akkor szeretném ha az örökölt nevet (People.name) írná ki, ha paraméterrel hívom meg, akkor Person.name-et írjon ki. A fenti kód ezt csinálja, de a
    this.name = name || this.name;
    egy kicsit homály még :S Nem lehet ezt valami egyértelműbbel kifejezni?

    Az eredmény amúgy
    --
    [00:11:50.709] Im a people
    [00:11:50.710] Male
    [00:11:50.710] People

    megj: nekem az lenne kicsit logikusabb ha
    this.name = name || super(name) .. vagy valami hasonlóval lehetne elérni, hogy paraméter nélkül hívva a feljebbvaló adattagját adja vissza. Na mindegy :)

Új hozzászólás Aktív témák