Registrovaný: 06 Jan 2012, 19:26 Príspevky: 458 Bydlisko: pod Pátrovom Udelené body:228 bodov Získané body:21 bodov
JS je tzv. dynamicky typovaný jazyk (céčko je statický). To znamená, že sám si určuje podľa obsahu premennej jej typ. Základné dátové typy sú: String (text), Number (číslo s/bez desatinnej čiarky), Boolean (pravda/nepravda).
Number (číslo s/bez desatinnej čiarky) sa definuje takto:
Kód:
var cislo1 = 25698; var cislo2 = 256.5869;
alebo aj takto:
Kód:
var cislo = 10e5; // 1000000
Čísla sú v JS ukladané ako typ double s presnosťou 15 desatinných miest. S číslami sa môžu vykonávať rovnaké výpočty ako v céčku, teda +, -, *, /, %, ++, --. Existuje aj knižnica Math, ktorá sa používa s botkovou notáciou:
Kód:
Math.PI // číslo PI Math.E // Eulerove číslo Math.LN10 // Logaritmus 10 Math.SQRT2 // druhá odmocnina 2(zhruba) Math.max(1,10) // Vráti väčšie číslo. Opakom max je funkcia min Math.pow(4,3) // 4 na tretiu == 64 Math.sqrt(9) // 2 odmocnina čísla Math.random() // náhodné číslo 0 – 1 Math.abs(x) // absolútna hodnota čísla Math.round(x) // zaokrúhlenie podle obvyklých pravidiel Math.ceil(x) // zaokrúhlenie hore Math.floor(x) // zaokrúhlenie dolu Math.cos(x) // cosínus Math.sin(x) // sínus Math.log(x) // prirodzený logaritmus(základom je Eulerove číslo)
Pretože čísla väčšinou zadávajú užívatelia, je dobré vedieť, či sa nepomýlili. Funkcia
Kód:
isNaN(hodnota)
zistí, či je zadané číslo. Ďalšie funkcie sú:
Kód:
toPrecision(x)
oreže číslo na stanovaný počet číslic.
Kód:
toExponential(x)
zmení číslo na vedeckú notáciu.
Kód:
i.toString()
zmení číslo na reťazec.
Posledné dôležité vlastnosti čísiel:
Kód:
Number.MAX_VALUE
a
Kód:
Number.MIN_VALUE
Vracajú najväčšie a najmenšie možné číslo v JS.
Boolean Logický dátový typ, môže mať hodnotu 0 alebo 1 (true alebo false). Používa sa pri vyhodnocovaní podmienok a cyklov.
String (reťazec) je jednorozmerné pole znakov a v JS sa definuje takto:
Kód:
var slovo = "slovo"; var veta = "Mama má Emu";
alebo takto:
Kód:
var slovo = 'slovo'; var veta = 'Mama má Emu';
Skutočne sa na definíciu môžu použiť aj také aj také úvodzovky.
Vieme z céčka, že ak chceme napísať úvodzovku v texte, musíme ju escapovať (\"), inakšie je nebude vidieť. V JS sa to dá riešiť aj takto:
Kód:
var veta = 'Mama "má" Emu';
Reťazce sa môžu sa spájať za pomoci znamienka +.
Kód:
var spojenyRetazec = veta + slovo;
alebo aj
Kód:
var spojenyRetazec = veta + "koleso";
Pozrieme si niekoľko zaujímavých funkcií na reťazcoch.
Trim Ak sa stane, že pri zadávaní reťazca užívateľ pridá na začiatok alebo koniec biele znaky, vieme sa ich zbaviť.
Kód:
var s = " Ján Novák "; s = s.trim(); // V s je teraz "Ján Novák"
Replace Funkcia nahradí zadanú hodnotu v reťazci inou hodnotou.
Kód:
var str = "Java je najsuper!"; var s = str.replace("Java", "JavaScript");
toUpperCase a toLowerCase Zmení všetky písmená v na veľké alebo malá, pracuje aj s diakritikou.
Kód:
var s = "string"; s.toUpperCase(); // veľké znaky s.toLowerCase(); // malé znaky
Concat Spojí dva a viac reťazcov do jedného. Táto funkcia je volaná automaticky, keď sa stringy pokúsime sčítať pomocou operátora +.
Kód:
str1 = "Karol"; str2 = "Jozef"; str3 = "Jana";
var spojene = str1.concat(str2,str3); var spojene2 = str1 + str2 + str3;
Substring a Substr Funkcie vracajú vybraný podreťazec.
Kód:
s = "Ema má mamu"; sub1 = s.substr(2, 6); // Vráti 6 znakov od druhej pozície sub2 = s.substring(2, 6); // Vráti znaky od druhej do 6 pozície
Split Rozdelí reťazec na pole reťazcov pomocou stanoveného znaku.
Kód:
str.split("-"); // Ako-sa-máš == [0] Ako [1] sa [2] máš
IndexOf, LastIndexOf a Search Vracia pozíciu prvého znaku daného podreťazca.
Kód:
str.indexOf("ahoj"); // vráti prvý nájdený index str.lastIndexOf("ahoj"); // vráti posledný nájdený index str.search("ahoj"); // vráti (prvý) index hľadaného podreťazca
Match Vráti všetky výskyty podreťazca v reťazci.
Kód:
var str = "The rain in SPAIN stays mainly in the plain"; var res = str.match(/ain/g);
Výsledok: ain,ain,ain
Kód:
var str = "The rain in SPAIN stays mainly in the plain"; var res = str.match(/ain/gi);
Výsledok: ain,AIN,ain,ain
To je pre dnešnú lekciu všetko. Nabudúce si preberieme podmienky v JS.
Úlohy: 1. Napíš web stránku, kde do premennej vložíš znak 'A', potom ho zväčšíš o jedna a výsledok vypíšeš do odstavca.
Príloha:
2-1.png [ 13.24 KiB | Zobrazené 2336 krát ]
Spoiler:
Kód:
// script.js window.onload = function() { var znak = "A"; var znakPlus = String.fromCharCode(znak.charCodeAt(0) + 1); var vysledok = "Vložený znak bol " + znak + ", zväčšený o jedna je " + znakPlus + "."; document.getElementById("vykresli").innerHTML = vysledok; }
2. Vytvor takúto stránku, nech vypíše maximálne a minimálne číslo v JS:
_________________ kódy píšem na platforme: linux Ubuntu 12.04 (Geany, Code::Blocks), WinXP (Code::Blocks, PsPad editor), Skype: libcokamo, ICQ: 56312279 Ak treba, napíš mi na libcosenior@gmail.com. To mám v mobile a stále po ruke.
Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia
Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre Nemôžete zasielať súbory v tomto fóre