Škôlka jazyka C

Fórum o programovaní v jazyku C založené 3. januára 2012

Aktuálny čas je 25 Apr 2024, 23:06

Všetky časy sú v GMT + 1 hodina




Vytvoriť novú tému Odpovedať na tému  [ Príspevok: 1 ] 
Autor Správa
 Predmet príspevku: 2. lekcia JS - premenné
PoslaťNapísal: 05 Dec 2015, 15:42 
Offline
Stredoškolák
Stredoškolák
Obrázok užívateľa

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
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:
Príloha:
2-2.png
2-2.png [ 13.66 KiB | Zobrazené 2333 krát ]

Spoiler:
Kód:
// script.js
window.onload = function() {
  var cislo1 = Number.MAX_VALUE;
  var cislo2 = Number.MIN_VALUE;
  var vysledok = "najväčšie = " + cislo1.toString() + "<br>najmenšie = " + cislo2.toString();
  document.getElementById("vykresli").innerHTML = vysledok;
}

_________________
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.


Detaily príspevku Upozorniť užívateľa
Hore
 Profil  
 
Zobraziť príspevky z predchádzajúceho:  Zoradiť podľa  
Vytvoriť novú tému Odpovedať na tému  [ Príspevok: 1 ] 

Všetky časy sú v GMT + 1 hodina


Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia


Rýchla úprava:
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

Hľadať:
Skočiť na:  
cron
Powered by phpBB® Forum Software © phpBB Group

Hosted by FreeSpace SK