Autor Zpráva
quatzael
Profil
Z nějakého důvodu mi nefunguje předávající argument ve funkci. Úplně moc nerozumím jak to v javascriptu funguje, ale čekal jsem že mi v tomto případě vyskočí 3krát alert "a", "b", "c". Místo toho třikrát vyskočí undefined.

var items = ['a','b','c'];
function review(){
for(var i = 0; i < items.length; i++)(function(sub){alert(sub);})(type[i]); 
}

Když najedu v developer tools myší na items v cyklu for, normálně mi to zobrazí nadefinované pole. Ale při najetí na sub to nic nedělá..

Nevíte prosím kde by mohla být chyba?
Radek9
Profil
quatzael:
Ty ale té funkci předáváš type[i], nikoli items[i].
quatzael
Profil
Radek9:
Aha, díky moc. To jsem přehlídl. Kopíroval jsem to z jiného scriptu a to type mi nedošlo, že to není nějaký "funkční název".
Teď to funguje, díky.
Nejsanost
Profil *
Ahoj, může mi prosím někdo popsat co znamená to: (sub) ?
To je nějaká metoda? Díky N.
Keeehi
Profil
Nejsanost:
sub je jméno proměnné. Lépe řečeno, je to jméno prvního argumentu té anonymní funkce, což je pak vlastně lokální proměnná.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: