JavaScript. Konverze na boolean. JavaScript 1.5 ECMAScript ECMA-262, 3 rd edition

Podobné dokumenty
NA CO SI DÁT POZOR V JAVASCRIPTU? Angular.cz

Programování v jazyce JavaScript

Programování v jazyce JavaScript

Úvod do programovacích jazyků (Java)

Programování v jazyce JavaScript

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

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

Zápis programu v jazyce C#

Programování v jazyce JavaScript

Skripty základy VB, vestavěné objekty, příklady

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

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

Algoritmizace a programování

První kapitola úvod do problematiky

Tvorba klientských skriptů v jazyce Java Script

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.

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

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

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

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

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

Neměnné objekty. Tomáš Pitner, upravil Marek Šabo

JAVA. Další jazyky kompilovatelné do Java byte-code

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

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

Programovací jazyk Pascal

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

Regulární výrazy. Vzory

Základy algoritmizace a programování

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Jazyk C# a platforma.net

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

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

7. Datové typy v Javě

Práce s textem. Třída Character. Třída Character. Třída Character. reprezentuje objekty zapouzdřující hodnotu typu char (boxing / unboxing)

typová konverze typová inference

Datové typy strana 29

Úvod do programovacích jazyků (Java)

ČVUT FIT: BI-SKJ: Perl

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

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

PREPROCESOR POKRAČOVÁNÍ

Skriptovací jazyky. Obsah

Algoritmizace a programování

Následující tabulka obsahuje typy objektů podle jejich pojmenovávání: počáteční písmeno jména

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Základy algoritmizace a programování

Programovací jazyk C++ Hodina 1

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

Úvod do programování v jazyce Java

IB111 Úvod do programování skrze Python Přednáška 7

Programování v jazyce JavaScript

Datum a čas TAMZ cvičení

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

Generické programování

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Základy programování (IZP)

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Základy programování (IZP)

Program grep. predn_05.doc

Sada 1 - PHP. 03. Proměnné, konstanty

NSWI096 - INTERNET JavaScript

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

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

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

Základy programování (IZP)

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

Příkazy a řídicí struktury v Javě. Tomáš Pitner, upravil Marek Šabo

Prezentace a vysvětlení programového prostředí NXC

Programování v C++ 1, 5. cvičení

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čipové karty Lekařská informatika

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

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

Algoritmizace a programování

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

Abstraktní datové typy: zásobník

Jazyk C# (seminář 6)

Principy objektově orientovaného programování

NPRG030 Programování I, 2017/18 1 / :22:16

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

StruËn obsah. Část I JavaCo? Vše ohledně JavaScriptu 17. Část II Použití JavaScriptu v praxi 91

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

Základy programování (IZP)

Knihovny pro programování PLC Tecomat podle IEC

Programování v C++ 2, 8. cvičení

Kolekce, cyklus foreach

Programování v C++, 2. cvičení

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

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

Část I Spojové struktury

Vytváření a použití knihoven tříd

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

ALG 09. Radix sort (přihrádkové řazení) Counting sort. Přehled asymptotických rychlostí jednotlivých řazení. Ilustrační experiment řazení

Objektově orientované programování

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

Transkript:

JavaScript JavaScript 1.5 ECMAScript ECMA-262, 3 rd edition Datové typy / literály null undefined logické hodnoty true, false čísla 42, 0xFF, 3.1415, -.12e-4, NaN, -Infinity řetězce "hello", 'world', "one line\nanother line" regulární výrazy /ab+c/, /\w+\s/g Datové typy / literály pole ["coffee", "tea", "cocoa"], ["cat",, "dog"] objekty {key1: "value1", key2: ["array", "of", "values"], key3: {a: "object", b: "value"}} funkce function(x) { return x * x } Konverze na boolean false: undefined, null, false, 0, NaN, "" true: zbytek (tedy i libovolný objekt, včetně new Boolean(false))

Operátory přiřazení = += -= *= /= %= <<= >>= >>>= &= ^= = porovnání ==!= ===!== > >= < <= aritmetika + - * / % ++ -- & ^ ~ << >> >>> logické &&! ostatní podmínkový operátor (?:), čárka (,), delete, in, instanceof, new, this, typeof, void Syntax (cykly) for(i=0;i<10;i+){ statements o{statements while(i<10); hile(i<10){ tatements }d } ws Proměnné začínají písmenem, podtržítkem nebo dolarem další znaky mohou být též číslice x = 42 var x = 42 const y = 43 Syntax (větvení) if(i>0){ s tatements1 }e lse{statements2 }s witch(i){ c ase0:statements1 b reak; c ase1:statements2 c ase2:statements3 b reak; d efault:statements4 }

Syntax label: statement break [label], continue [label] // single-line comment /* multiple-line comment */ Syntax (výjimky) try{/functioncouldthrowthrexceptions getcustinfo("le",1234,"le@netscapėcom") }catch(eife="invalidnameexception"){ /calhandlerforinvalidnames atch(eife="invalididexception"){ /calhandlerforinvalidids atch(eife="invalidemailexception"){ /calhandlerforinvalidemailadreses atch(e){/don'tknowhatodo,butlogit bad_name_handler(e) bad_id_handler(e) bad_email_handler(e) logeror(e) }c } Syntax pro práci s objekty for(propinobj){ s tatements }w ith(obj){ s tatements } Syntax (výjimky) throw{type:"userexception", mesage:"valuetohigh"}; try{statements1 atch(e){ tatements2 inaly{statements3 }c s}f }

Funkce aresult=newaray(ȧlength); for(vari=0;i<=ȧlength;i+) ap(function(x){returnx*x*x},[0,1,2]); functionobvod(a,b){ eturn2*(a+b); unctionmap(f,a){ result[i]=f(a[i]); eturnresult; functionf(x,y){ eturnargumentṡlength; r}f v }m r}f (0);f(0,"dog"); (0,"dog",false); f Syntax (středníky) zápis význam { 1 2 } 3 { 1 2 } 3 { 1 ;2 ;} 3; for (a; b ) return a + b return; a + b; a = b ++c a = b; ++c; if (a < b) else c = d a = b + c (d + e).print() a = b + c(d + e).print() Vestavěné funkce eval isfinite, isnan parseint, parsefloat Number, String escape, unescape, encodeuri, decodeuri, encodeuricomponent, decodeuricomponent Objekty ycar={make:"eagle",model:"talontsi"}; ycar=newcar("eagle","talontsi",193); unctioncar(make,model,year){ mycar={make:"eagle", odel:"talontsi", ear:193} mycaṙyear=193; eletemycaṙmodel; thiṡmake=make; hiṡmodel=model; hiṡyear=year; df t }m

neexistují třídy a jejich instance, pouze objekty každý objekt má prototyp (to je také objekt), pomocí prototypů je zajištěna dědičnost zápis obj.prop znamená hledání vlastnosti prop na objektu obj, v případě neúspěchu na jeho prototypu, v případě neúspěchu na prototypu jeho prototypu, atd. (až dokud poslední prototyp v řetězci není null)

}WorkerBėprototype=newEmploye; mployėprototypėname="unknown"; functionemploye(){ hiṡname="; hiṡdept="general"; }functionworkerbe(){ hiṡprojects=[]; amy=newworkerbe; te

unctionemploye(name,dept){ varidcounter=1; hiṡname=name "; hiṡdept=dept "general"; unctionmanager(name,dept,reports){.} functionworkerbe(name,dept,projs){.} thiṡid=idcounter+; Manageṙprototype=newEmploye; WorkerBėprototype=newEmploye; functionenginer(name,projs,mach){.} functionsalesperson(name,projs,quota){.} Engineṙprototype=newWorkerBe; SalesPersoṅprototype=newWorkerBe; mac=newenginer("wod,mac"); ft }f Array.prototype tostring() totéž, co join() tolocalestring() concat(item1, item2, ) join(separator) vytvoření řetězce (defaultní separátor je čárka) pop() push(item1, item2, ) reverse() shift() slice(start, end) functionemploye(){ hiṡdept="general"; }Employėprototypėname="; }WorkerBėprototype=newEmploye; mployėprototypėname="unknown"; functionworkerbe(){ hiṡprojects=[]; amy=newworkerbe; te Array vara=newaray(); arb=newaray(3); arc=newaray(3,"a"); vard=["a","b","c"]; v

Array.prototype sort(comparefn) splice(start, deletecount, item1, item2, ) unshift(item1, item2, ) Boolean new Boolean(value) Boolean.prototype tostring() vrátí "true", nebo "false" valueof() vrátí true, nebo false arb=newdate("december25,19513:30:0"); vard=newdate(195,1,25,9,30,0); Datėparse("December25,19513:30:0"); varc=newdate(195,1,25); DatėUTC(195,1,25,9,30,0); vara=newdate(); v Date Date.prototype tostring(), tolocalestring(), toutcstring() todatestring(), totimestring(), todatelocalestring(), todatetimestring() valueof() gettime(), getfullyear(), getutcfullyear(), getmonth(), getutcmonth(), gettimezoneoffset() rozdíl mezi místním časem a UTC v minutách settime(time), setmilliseconds(ms), setutcmilliseconds(ms),

Function new Function(arg1, arg2,, argn, functionbody) Function.prototype tostring() apply(obj, params) zavolá funkci a podstrčí jí obj jako její this call(obj, arg1, arg2, ) zavolá funkci a podstrčí jí obj jako její this Instance funkcí length očekávaný počet parametrů Math E, LN10, LN2, LOG2E, LOG10E, PI, SQRT1_2, SQRT2 abs(x), acos(x), asin(x), atan(x), atan2(y, x), ceil(x), cos(x), exp(x), floor(x), log(x), max(value1, value2, ), min(value1, value2, ), pow(x, y), random(), round(x), sin(x), sqrt(x), tan(x) Number MAX_VALUE, MIN_VALUE, NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY Number.prototype tostring(radix), tolocalestring() valueof() tofixed(fractiondigits) toexponential(fractiondigits) toprecision(precision) RegExp new RegExp(pattern, flags) Instance regulárních výrazů source global ignore multiline lastindex

tostring() exec(string) test(string) RegExp.prototype RegExp.prototype.exec myre d(b+)(d)/ig; m yaray=myrėexec("cdbbdbsbz"); Object Property/ Index Description Example The contents of myarray. ["dbbd", "bb", "d"] index The 0-based index of the match in the string. 1 myarray input The original string. cdbbdbsbz [0] The last matched characters. dbbd [1], [2], The parenthesized substring matches, if any. The number of possible parenthesized [1] = bb substrings is unlimited. [2] = d lastindex The index at which to start the next match. 5 ignorecase Indicates if the i flag was used to ignore case. true myre global Indicates if the g flag was used for a global match. true multiline Indicates if the m flag was used for a multiline match. false source The text of the pattern. d(b+)(d) String new String(value) fromcharcode(char0, char1, ) Instance řetězců length String.prototype tostring(), valueof() charat(pos), charcodeat(pos) concat(string1, string2, ) indexof(searchstring, position), lastindexof(searchstring, position) localecompare(that) match(regexp) neglobální vrátí regexp.exec(str) globální vrátí pole nultých prvků výsledků postupných volání regexp.exec(str) replace(searchvalue, replacevalue) search(regexp) vrátí index nálezu

String.prototype slice(start, end) split(separator, limit) substring(start, end) tolowercase(), tolocalelowercase(), touppercase(), tolocaleuppercase() Odkazy Netscape Devedge JavaScript Central JavaScript 1.5 Guide JavaScript 1.5 Reference ECMAScript Language Specification