Programování v jazyce JavaScript

Podobné dokumenty
Programování v jazyce JavaScript

Jazyk C# a platforma.net

Programování v jazyce JavaScript

5 Přehled operátorů, příkazy, přetypování

Programování v jazyce JavaScript

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Algoritmizace a programování

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

LEKCE 6. Operátory. V této lekci najdete:

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Programování v jazyce JavaScript

Racionální čísla, operátory, výrazy, knihovní funkce

Úvod do programovacích jazyků (Java)

Paměť počítače. alg2 1

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Operátory. Základy programování 1 Tomáš Kühr

Racionální čísla, operátory, výrazy, knihovní funkce

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Programování v jazyce JavaScript

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Programování v jazyce JavaScript

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Zápis programu v jazyce C#

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Programovací jazyk Pascal

Programování v jazyce JavaScript

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Inovace bakalářského studijního oboru Aplikovaná chemie

Programovací jazyk C++ Hodina 1

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

6. Příkazy a řídící struktury v Javě

PŘETĚŽOVÁNÍ OPERÁTORŮ

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

NPRG030 Programování I, 2016/17 1 / :58:13

Výrazy, operace, příkazy

Data, výrazy, příkazy

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

NPRG030 Programování I, 2010/11

Řídicí struktury. alg3 1

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Datové typy strana 29

Sada 1 - Základy programování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

První kapitola úvod do problematiky

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Úvod do programování. Lekce 1

Programování v PHP. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze. Další možnosti formulářů

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Tvorba klientských skriptů v jazyce Java Script

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Seminář Java IV p.1/38

CZ.1.07/1.5.00/

JavaScript 101. "Trocha života do statických stránek"

6 Příkazy řízení toku

Algoritmizace a programování

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr


Ukazka knihy z internetoveho knihkupectvi

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Software602 Form Designer

PROGRAMOVÁNÍ V SHELLU

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

KTE / ZPE Informační technologie

VY_32_INOVACE_08_2_04_PR

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

1. Programovací jazyky

Úvod do databázových systémů

Proměnné a parametry. predn_08.odt :00:38 1

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Úvod do programovacích jazyků (Java)

Základy PHP. Josef Podstata. KTE/IZTT - Zpracování textu, tabulek a prezentací. Univerzita Palackého v Olomouci

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

Úvod do databázových systémů

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Základy programování (IZP)

Jazyk C# a platforma.net

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Transkript:

Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti P. Štěpán PHP BI-PHP, výpis 3 1/6

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <h1>operatory a prikazy jazyka</h1> <script type="text/javascript"> // vyrazy var i,j,k; // operator prirazeni = (Hodnotou operace je prirazovana hodnota, // asociativni zprava) i = j = k = 5; // i = (j = (k = 5)) // totez; // slozena prirazeni += -= >>=... (i += 2; // i = i + 2; ) aritmeticke operatory: + - * / % (modulo - zbytek po deleni) Specialni pravidla: - standardni; presahne-li vysledek rozsah, vrati se Infinity nebo -Infinity - neciselne hodnoty prevedeny pomoci fce Number. Nejde-li, vrati NaN - je-li nektery operand NaN, je vysledek NaN V nasledujicich prikladech plati standardni pravidla pro znamenka (jsou-li aplikovatelna) - Infinity*0 = NaN; Infinity*cislo = Infinity; (znamenko!); Infinity*Infinity = Infinity; - Infinity/Infinity = NaN; 0/0 = NaN; cislo/0 = Infinity; (znamenko) - Infinity/nenulove_cislo = Infinity; - Infinity + Infinity = Infinity; - Infinity + -Infinity = -Infinity; Infinity + -Infinity = NaN - je-li jeden operand souctu retezec, prevede se druhy na retezec (je-li treba) pomoci.tostring resp. String a ZRETEZI se!! - Infinity - Infinity = NaN; Infinity - -Infinity = Infinity;... - je-li jeden operand rozdilu objekt, ziska se ciselna hodnota pomoci metody valueof; neexistuje-li valueof, pouzije se tostring a retezec se prevede na cislo - Modulo: Infinity % cislo = NaN; Cislo % 0 = NaN; Infinity % Infinity = NaN; cislo % Infinity = cislo; 0 % hodnota = 0; unarni + a - Pro neciselne prevod na cislo (objekty se prevadeji pomoci valueof popr. tostring) unarni znamenka se pouzivaji pro prevody na cisla i = +true; // alert(i); // 1 P. Štěpán PHP BI-PHP, výpis 3 2/6

// inkrementace ++ a dekrementace -- // preincrement ++i a postincrement i++ // funguje i pro desetinna cisle (pricte/odecte 1); necislene // prevadi na cisla, objekty pomoci valueof resp tostring bitove operatory ~ (NOT), & (AND) (OR) ^ (XOR) << posun vlevo; >> posun vpravo aritmeticky - zachova znamenko >>> posun vpravo bezznamenkovy - zleva doplnuje nuly cislo prevede z desetinneho na 32 bit integer, provede operaci a konvertuje zpet; neciselne na cisla pomoci fce Number; NaN a Infinity prevede na 0!! i = "ABC"; j = i << 1; // alert(j); // 0 logicke operatory! && negace (!): ne-boolean prevede standardne na boolean a invertuje Specialni pravidla: - logicky soucin (&&): provadi "line" (lazy) vyhodnocovani: je-li prvni operand true, vrati druhy; je-li prvni false - vrati false a druhy NEVYHODNOCUJE!! specielne: - object && operand vrati druhy operand dalsi plati, pokud se prislusny operand vyhodnocuje (coz pro lazy pripad nemusi!!) - je-li jeden z operandu null, vrati null - je-li jeden z operandu NaN, vrati NaN - je-li jeden z operandu undefined, vrati undefined operator && tedy NEMUSI vracet hodnotu boolean logicky soucin ( ): opet line vyhodnocovani: je-li 1. operand true, druhy nevyhodnocuje specielne: - je-li 1. operand object, pak jej vzdy vrati - je-li 1. operand false, vrati druhy - jsou-li oba operandy null, vrati null - jsou-li oba operandy NaN, vrati NaN - jsou-li oba operandy undefined, vrati undefined // alert(null 1); // alert(null null); P. Štěpán PHP BI-PHP, výpis 3 3/6

relacni operatory < <= > >= - vraceji logickou hodnotu Specialni pravidla - cisla - standardni porovnani - je-li jeden operand cislo, druhy se prevede na cislo - retezce - porovnavaji se KODY odpovidajicich znaku v retezci!! - je-li jeden operand objekt, nejprve se zavola valueof (neni-li, tostring) a vysledek se porovna - operand Boolean se prevede na cislo a porovna se - NaN v relaci s cimkoli vrati false // alert("bara" < "anna"); // true - kod a > kod B // alert("1000" < "9"); // true - porovna znakove (ale pokud // by byl jeden operand cislo, porovna OK) // alert(i < NaN); // false // alert(i >= NaN); // take false porovnani == rovnost!= nerovnost === identicka rovnost!== identicka nerovnost Specialni pravidla identicka porovnani - napred se testuje typ a potom hodnota alert(1 === "1"); false - ruzne typy pro bezna neidenticka) porovnani se provadeji prevody typu: - Boolean se prevede na cislo - je-li jeden operand retezec a druhy cislo, pokusi se prevest retezec na cislo - je-li jeden operand objekt, vola se valueof; neni-li, tak tostring pravidla pro porovnani specialnich hodnot: - null a undefined se rovnaji - null a undefined se pro porovnani neprevadeji na jakoukoli jinou hodnotu - je-li jeden operand NaN, je vysledkem nerovnost (dokonce i pro NaN == NaN) - jsou-li oba operandy objekty, vrati true, pokud oba operandy odkazuji na tyz objekt // podminkovy operator i = (j > k)?j:k; // maximum // operator carka - vice operaci v jednom prikazu // (obvykle v deklaracích proměnných) var r = 2, s = 3, t = 4; // lze pouzit i v prirazeni - potom vraci posledni prvek vyrazu // (pouzitelne napr. pro vyuziti vedlejsich efektu) var x = (2,4,6,8,3); // 3 // alert(x); P. Štěpán PHP BI-PHP, výpis 3 4/6

// prikazy // podminkovy if (i > 0){ j = 2; k = 3; else { i = 8; k = 2; // cykly while i = 8; while (i > 0){ i--; i = 8; do { i--; while (i > 0); // cyklus for for (i = 0; i < 10; i++){ for (var n = 0; n < 20; n+=3){ // alert(n); // 21 - n je mozno pouzit i za cyklem - neni // lokalni v cyklu!! // cyklus for-in var clovek = new Object(); clovek.id = 3; clovek.krestni = "Franta"; clovek.prijmeni = "Novak"; var vlastnosti = ""; // projde vsechny vlastnosti (poradi neni urceno) for (var vlastnost in clovek){ vlastnosti += vlastnost + "='" + clovek[vlastnost] + "'; "; // alert(vlastnosti); P. Štěpán PHP BI-PHP, výpis 3 5/6

// break (opusteni cyklu) a continue (okamzite zahajeni dalsiho): n = 0; for (i = 1; i <= 20; i++){ if ((i % 5) == 0) continue; n++; // alert(n); // 16 - pro 5,10,15,20 se n nezvysilo // break a continue pro nekolik vnorenych cyklu n = 0; // oznaceni (pojmenovani) prikazu. Nejde o navesti, na ktere by // se provadel skok!! vnejsi: for (i = 0; i < 10; i++){ for (j = 0; j < 10; j++){ // pokracovat ZA cyklem jmenem vnejsi (podobne continue) if ((i == 3) && (j == 7)) break vnejsi; n++; // alert(n); // 37 // prikaz with "vytknuti pred zavorku". // Nedoporucuje se - spatny vykon, obtiznejsi ladeni with(clovek){ id = 9; krestni = "Eva"; prijmeni = "Cerna"; // alert(clovek.id + ";" + clovek.krestni + ";" + clovek.prijmeni); // prikaz vicenasobneho vetveni switch // pracuje pro vsechny datove typy; u case mohou byt vyrazy var roman = "x", arab; switch(roman){ case "i": arab = 1; break; case "v": arab = 5; break; case "x": arab = 10; break; default: arab = 0; </script> </body> </html> P. Štěpán PHP BI-PHP, výpis 3 6/6