Avatar
idc
Člen
Avatar
idc:

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
Redaktor
Avatar
Silvinios:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na idc
David Čápka:

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  +2 31.10.2013 19:09
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Zdeněk Pavlátka:

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.