Autor Zpráva
argonisius
Profil *
Dobrý den, předem se omlouvám - s javascriptem začínám. Vytvořil jsem si jednoduchou funkce, která by měla převést čas (např. 16:30) na mituty. Zde je:

<script type="text/javascript">
     /* <![CDATA[ */
     
     // Funkce pro převod času na minuty
     function cas2min(cas)
     {
       cas = cas.split(":");
       min = cas[0]*60+cas[1];
       return min;
     }

     document.write( cas2min(16:41) );

     /* ]]> */
   </script>

Bohužel nefunguje... nevíte, kde je chyba?
argonisius
Profil *
Tak, první chyby, co jsem objevil byla ta, že prvky pole nejsou brána jako čísla, nejde je tedy sčítat. Teď to vypadá takto.

<script type="text/javascript">
     /* <![CDATA[ */
     
     // Funkce pro převod času na minuty
     function cas2min(cas)
     {
       cas = cas.split(":");
       min = parseInt(cas[0]) * 60 + parseInt(cas[1]);
       return min;
     }

     document.write(cas2min(16:41));
       
     /* ]]> */
   </script>


Pořát mi to ale nic nezobrazí....
_es
Profil
argonisius:
s javascriptem začínám
Začínaš nejako zle.
Pozri si ako sa zapisujú hodnoty rôznych dátových typov - čísla, textové reťazce, polia, ...
Ďalej ako sa definujú lokálne premenné vo funkciách.
...
argonisius
Profil *
Pokud jde o to pole vzniklé objektem split, tak jsou hodnoty v něm řetězce, nebo je n+jak možné, aby tam byla čísla a nemusel jsem tak použít parseInt()???
_es
Profil
argonisius:
Nemôžeš predsa požadovať aby ti tu niekto robil online výuku JavaScriptu od základov.
Na to sú knihy, rôzne príručky, ...
Môžeš začať napríklad u www.jakpsatweb.cz/javascript/zaklady-syntaxe.html
Mimochodom na dátum a čas má JavaScript aj špeciálny objektový dátový typ.

Čo očakávaš, že by malo spraviť cas2min(16:41)?
argonisius
Profil *
Rozdělí to 16:41 na hodiny - 16 a minuty - 41, potom těch 16 hodin vynásobí 60 a přičty k tomu 41 minut - výsledkem je 16:41 v minutách. Celou tuto funkci dělám kvůli tomu, abych mohl porovnávat časové ůdaje. Nebo se to dá udělat jednodušeji?

Chci například zjistit, jestli 16:41 je dřív než 12:30. Tak to převedu na minuty a potom porovnám...
Davex
Profil
V tento okamžik není parametrem funkce cas2min řetězec. Stačí se podívat do chybové konzole JavaScriptu (třeba ve Firefoxu), která ukáže číslo řádku s chybou.
argonisius
Profil *
Díky... ještě poslední otázka... je potřeba deklarovat "cas" (cas = cas.split(":");) uvnitř funkce, nebo je již brán jako deklarovaný, protože je to paramatr funkce?

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: