Výsledky 1 až 5 z 5

Téma: [JavaScript] Proměnné předané referencí ["vyreseno"]

  1. #1

    Standardní [JavaScript] Proměnné předané referencí ["vyreseno"]

    Zdravim,
    je mozne v JS predavat parametry funkci referenci? Aneb jak upravit neco jako:
    Kód:
    function myfunc(str) {
        str = "Wheee!";
    }
    s = 'blah';
    myfunc(s);
    alert(s);
    aby to rvalo "Wheee!" namisto "blah"?

    Treba v PHP by kod vypadal takhle:
    PHP kód:
    function myfunc(&$str) {
        
    $str "Wheee!";
    }
    $s 'blah';
    myfunc($s);
    echo 
    $s
    Co jsem se docetl, dela si to JS po svem a do otazky "predat referenci" si nenecha kecat, ale budu rad, kdyz me nekdo vyvede z omylu.
    Naposledy upravil ripper; 02.06.2007 v 20:07. Důvod: "vyreseno"
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  2. #2
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    42
    Příspěvky
    3 474
    Vliv
    322

    Standardní Re: [JavaScript] Proměnné předané referencí

    Primitivni datove typy jsou vzdy predavany jako hodnota.
    Pokud bys chtel referenci, mas moznost pouzit objekty, ktere javascript predavan jako referenci...

    takze ve tve situaci by to asi mohlo fungovat takto:
    Kód:
    function refobj() {
        this.value = "";
    }
    
    function myfunc(obj) {
        obj.value = "Whee!";
    }
    
    var myobj = new refobj();
    myobj.value = "blah";
    myfunc(myobj);
    alert(myobj.value);
    ale nezkousel jsem
    Naposledy upravil Anduril; 02.06.2007 v 19:56.
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

  3. #3

    Standardní Re: [JavaScript] Proměnné předané referencí

    Citace Původně odeslal Anduril Zobrazit příspěvek
    Primitivni datove typy jsou vzdy predavany jako hodnota.
    Pokud bys chtel referenci, mas moznost pouzit objekty, ktere javascript predavan jako referenci...
    Jo, takze predat string referenci v JS nejde. No to je super. >:{
    Kazdopadne diky moc, aspon se uz nebudu pokouset o nemozne
    Ten priklad funguje, ale je to teda fakt uzasny
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  4. #4
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    42
    Příspěvky
    3 474
    Vliv
    322

    Standardní Re: [JavaScript] Proměnné předané referencí

    Je to tak..
    Ten priklad je sice krkolomny, ale jako pouzitelne to celkem vypada..nicmene samozrejme zalezi na tvem konkretnim programu.
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

  5. #5
    Senior Member
    Založen
    07.10.2002
    Bydliště
    Ostrava / Straznice
    Příspěvky
    1 133
    Vliv
    289

    Standardní Re: [JavaScript] Proměnné předané referencí

    Citace Původně odeslal ripper Zobrazit příspěvek
    Jo, takze predat string referenci v JS nejde. No to je super. >:{
    Kazdopadne diky moc, aspon se uz nebudu pokouset o nemozne
    Ten priklad funguje, ale je to teda fakt uzasny
    Neni treba se tak certit. String je primitivni datovy typ, tj. je predavany jako parametr. To plati ve spouste jazyku. Pokud ho chces predat jako referenci, musis na to vyuzit vlastnosti, ktere dany jazyk nabizi, neni na to obecny postup.

    v PHP to jde pomerne snadno (syntaxe podobna Pascalu), Simula ma zase predavani jmenem. Javascript to resi zabalenim do objektu, Java to resi pomoci obecneho Object a pretypovani na String.
    Je to proste o tom, jaky ma jazyk pohled na sva data.
    Intel C2D 4300, 1GB DDR2, 120GB Seagate, nVidia7600GT pasiv.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [Javascript] - prenos hodnot mezi okny
    Založil Braindead v sekci fóra Programování
    Odpovědí: 1
    Poslední příspěvek: 14.03.2005, 12:11
  2. Systemove promenne HOMEDRIVE a HOMEPATH ve w2k ?
    Založil Damian v sekci fóra Ostatní operační systémy
    Odpovědí: 5
    Poslední příspěvek: 17.05.2004, 23:23
  3. [PHP] [Javascript] Formular a zadavany typ promenne
    Založil Petano v sekci fóra Programování
    Odpovědí: 7
    Poslední příspěvek: 17.12.2003, 09:32

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •