Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 7. diel - Cyklus for v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Martin Fukátko:22.6.2017 10:54

Pokud si však nějakou proměnnou založíme v těle cyklu, po skončení cyklu zanikne a již nebude přístupná.

Hmm, tak tohle neplatí. Třeba toto vypíše n=10, po té, co cyklus skončil:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="cache-control" content="no-cache">
    <title>Testovací stránka</title>
    <style type="text/css">

    </style>

    <script type="text/javascript">
        function test() {
            document.write('<table border="1">');
            for (var j = 1; j <= 10; j++) {
                document.write("<tr>");
                for (var i = 1; i <= 10; i++) {
                    document.write("<td>" + i * j + "</td>");
                    var n = i;
                }
                document.write("</tr>");
            }
            document.write("</table>");
            document.write('n = ' + n);
        }
    </script>

</head>

<body>
    <button onclick="test();">run test</button>
</body>

</html>
 
Odpovedať
22.6.2017 10:54
Avatar
Odpovedá na Martin Fukátko
Honza Prosecký:23.6.2017 18:37

To by asi platilo u let, ze by n nebylo pristupny vne cyklu, ne?

 
Odpovedať
+1
23.6.2017 18:37
Avatar
Odpovedá na Honza Prosecký
Wal De Mar-Lad:23.6.2017 18:45

Presne tak. Premenná definovaná kľúčovým slovom "var" bude dostupná aj po skončení cyklu, kdežto premenná definovaná pomocou kľúčového slova "let" nebude.

Odpovedať
+1
23.6.2017 18:45
Libraries over frameworks...
Avatar
Jan Praks
Člen
Avatar
Jan Praks:19.7.2018 20:40

Ahoj kdyz si v netbeanech necham vygenerovat for tak promenne maj datovy typ var misto let, je to spatne a nejde to nejak zmenit na let stejne jako tady?

 
Odpovedať
19.7.2018 20:40
Avatar
Nela Jungmannová:14.11.2018 14:49

Ahoj,
omlouvám se za hloupý dotaz. Po několika neúspěších s tabulkou jsem přepsala (snad) naprosto přesně Váš kód, přesto se mi čísla stále objevují v jedné rovině a ne v tabulce. Co dělám špatně a kde je chyba?

document.write('<table border="1">');
for (let j = 1; j <= 10; j++)
{
    document.write("<tr>");
    for (let i = 1; i <= 10; i++)
            document.write("<td>" + i * j + "</td>");
    document.write("</tr");
    }
document.write("</table>");
Editované 14.11.2018 14:51
 
Odpovedať
14.11.2018 14:49
Avatar
Odpovedá na Nela Jungmannová
Ondřej Šrytr:14.11.2018 18:34

Ahoj,
zkus to takhle, mělo by to fungovat. :)

document.write('<table border="1">');
for (let j = 1; j <= 10; j++)
{
    document.write("<tr>");
    for (let i = 1; i <= 10; i++)
            document.write("<td>" + i * j + "</td>");
    }
    document.write("</tr");
document.write("</table>");
Editované 14.11.2018 18:36
 
Odpovedať
+2
14.11.2018 18:34
Avatar
Tano7
Člen
Avatar
Odpovedá na Nela Jungmannová
Tano7:9.10.2019 17:42

Přidej ve 4. řádku do závorek <li>

document.write("<li> <tr>");
Odpovedať
-1
9.10.2019 17:42
Život by byl mnohem snazší, kdybychom k němu měli zdrojový kód.
Avatar
Tano7
Člen
Avatar
Odpovedá na Tano7
Tano7:9.10.2019 17:51

Oprava, překlep, správně je:
Přidej ve 4. řádku do závorek <ul> document.write("<ul><tr>­");

document.write('<table border="1">');
for (let j = 1; j <= 10; j++)
{
    document.write("<ul><tr>");
    for (let i = 1; i <= 10; i++)
            document.write("<td>" + i * j + "</td>");
    document.write("</tr");
    }
document.write("</table>");
Odpovedať
-1
9.10.2019 17:51
Život by byl mnohem snazší, kdybychom k němu měli zdrojový kód.
Avatar
Petr Kašný
Člen
Avatar
Odpovedá na Nela Jungmannová
Petr Kašný:28.1.2020 22:01

Ahoj,
ve třetím řádku od konce máš "</tr" , má být "</tr>"
Neukončila jsi řádek, proto je to vše v jednom řádku.

 
Odpovedať
+2
28.1.2020 22:01
Avatar
KaMl
Člen
Avatar
Odpovedá na Tano7
KaMl:1.9.2021 12:13

To je pěkný nesmysl, co tu radíš:
<li> patří číslovanému seznamu - vůbec to s kódem tabulky nesouvisí;
<ul> patří nečíslovanému seznamu - také to s kódem nesouvisí; oba jsou to navíc párové tagy...
Problém Nely byl špatně umístěný ukončovací tag </tr>. Dala ho do vnitřního for-cyklu. Správně mají tagy <tr> a </tr> vnitřní for-cyklus obalovat.

 
Odpovedať
1.9.2021 12:13
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 45.