Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet javascriptben...

Hogyan lehet javascriptben egy function-ből átvinni egy változót egy másik function-be?

Figyelt kérdés

Itt egy konkrét példa:

function help(){

var x = "help";

}

function me(){

alert(x); //itt nem működik...

}



2021. febr. 13. 09:35
 1/9 anonim ***** válasza:
100%

Nyilván nem megy, mert { ... } külön tér. Amit abban definiálsz, az csak ott létezik, de lefele továbbra is él.


pl.: A { B { C } }

Az "A" térben csak az "A" dolgai vannak. A "B" térben az "A" és a "B"-k, és ugyanígy a "C" helyen az A-B-C dolgokat látod. DE! Ha azonos változó nevet használsz, akkor ideiglenesen írod felül! Azaz:


var x = 0

{ var x = "A" (itt "A" lesz) }

(itt ismét 0 lesz, mert kijöttél a blokkvól és a felülírt x elveszett)


A többit következtesd ki, jöj rá a megoldásra. ;)

2021. febr. 13. 09:46
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
100%
Átadod paraméterként.
2021. febr. 13. 09:54
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Első, én ebből ennyit értettem meg: hogy egy functionon belül lehet egy másik function, és ott megmarad, kb ezt írtad?
2021. febr. 13. 09:57
 4/9 A kérdező kommentje:

De nem sikerült :c A chrome ezt írja ki: Uncaught ReferenceError: crea is not defined

at HTMLButtonElement.onclick (index.html:118)

2021. febr. 13. 10:00
 5/9 anonim ***** válasza:

function me(y){


alert(y);


}


function help(){


var x = "help";

me(x);


}



^ X értékét átadod me() -nek, ami y néven fogja ismerni az értéket ebben az esetben.


Vagy globális változóként:


window.x;


function me(y){


alert(y);


}


function help(){


x = "help";


}

2021. febr. 13. 10:09
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
100%

"kb ezt írtad?"

Nagyjából igen. Scope-on belül (azaz {...} <- itt) marad a változó. Elég problematikus lenne, ha az egész alkalmazás egy halmazt használna, és 4000 változó mellet azon rágnád a körmöd, melyiket írod felül és omlik össze a rendszer. Szóval a változó (családon belül) scope-on belül marad.


Kijuttatni ugye

- vagy: return

- vagy kihivatkozol egy felette lévő változóra

2021. febr. 13. 10:11
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
100%

Ahogy az #5 írja.

Ott egy globális változó a windiw (és társai: pl.: document) és az egyik eleme az x.


De ugyanazt érnéd el, ha:


var x = "alma";

function() {

... x = "korte"; // kihivatkozol

}

f()

x // már körte

2021. febr. 13. 10:13
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
100%

Böngésző console:

> var x = "alma"

> function asd() { x = "korte" }

> asd()

> x

< "korte" // x output


> var a = "a"

> function af() { var a = "b" }

> af()

> a

< "a" // a output

2021. febr. 13. 10:17
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
var x helyett this.x vagy window.x kell irnod.
jan. 18. 01:08
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!