IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
idc
Člen
Avatar
idc:25.10.2013 16:38

Ahoj, nedávno jsem začal dělat v JavaScriptu a narazil jsem na problém.
Mám funkci, které předávám jako argument pole. Chci aby mi tato funkce ovlivnila i moje globálně definované pole. V C# k tomu slouží ref a v C++ pokud se nepletou ukazatelé. Jak docílit stejného výsledku v JS? Díky za odpověď.

function newValues(endArray) {

}
 
Odpovědět
25.10.2013 16:38
Avatar
Silvinios
Tvůrce
Avatar
Silvinios:31.10.2013 19:07

Rozumím správně, že se snažíš o něco takového?

var globalniPole = [1,2];
function funkce(pole) {
   pole.push(3); // vloží 3 na konec pole
}
funkce(globalniPole);
alert(globalniPole); // v globálním poli jsou čísla 1,2,3
 
Nahoru Odpovědět
31.10.2013 19:07
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na idc
David Hartinger:31.10.2013 19:09

Ref slouží úplně k něčemu jinému, jelikož je pole objekt, tak se ti ovlivní stejně. Mám za to, že to platí i v JS. Globálním datům se vyhýbej, zaprvé nejsou potřeba a zadruhé přináší jen problémy.

Nahoru Odpovědět
31.10.2013 19:09
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Zdeněk Pavlátka:31.10.2013 19:20

Jako globální se hodí jen konstanty a to jen někdy. Mimochodem jde v JavaScriptu vytvořit konsanta?

Nahoru Odpovědět
31.10.2013 19:20
Kolik jazyků umíš, tolikrát jsi programátor.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.