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

Podobné dokumenty
Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 14 VY 32 INOVACE

Formuláře. Internetové publikování. Formuláře - příklad

Formuláře. Internetové publikování

Javascript. Javascript - jazyk

Tvorba klientských skriptů v jazyce Java Script

NSWI096 - INTERNET JavaScript

<!DOCTYPE html> <html lang="cs"> <head> <meta charset="utf-8" /> <title>název stránky v titulkovém pruhu prohlížeče</title> </head>

Skriptování na straně serveru a klienta

Programování v jazyce JavaScript

JavaScript je často zaměňován s Javou. Java je samostatný programovací jazyk. Má s JavaScriptem pouze podobnou syntaxi.

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

Programování v jazyce JavaScript

Skriptovací jazyky. Obsah

Programování v jazyce JavaScript

První kapitola úvod do problematiky

Programování v jazyce JavaScript

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

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

Vstupní požadavky, doporučení a metodické pokyny

Programování v jazyce JavaScript

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Jazyk C# (seminář 6)

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

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.

Algoritmizace a programování

CoffeeScript JavaScript, který se dá číst. I psát. Jan

JavaScript v praxi: Sokoban (5. přednáška)

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

Programování v jazyce JavaScript

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

Skripta ke školení. Autor: Tomáš Herout Telefon: (+420)

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

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

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

Programovací jazyk Haskell

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

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ů

Programovací í jazyk Haskell

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

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Jazyk C# a platforma.net

Internet cvičení. ZS 2009/10, Cvičení 3., Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP

PHP tutoriál (základy PHP snadno a rychle)

ANOTACE vytvořených/inovovaných materiálů


(X)HTML, CSS a jquery

8 Třídy, objekty, metody, předávání argumentů metod

Jazyk C# (seminář 5)

Delphi popis prostředí

Úvod do programovacích jazyků (Java)

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Dynamicky vázané metody. Pozdní vazba, virtuální metody

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

Specifikace reklamních formátů HTML 5 pro nasazení do ibillboard Ad Server Verze 2/2015

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 jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Řídicí struktury. alg3 1

typová konverze typová inference

Printris. Hra Printris je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

Tematický celek 03 - Cvičné příklady

PSK3-9. Základy skriptování. Hlavička

Konstruktory a destruktory

Podklad pro tvorbu ilayer typu

Základy C++ I. Jan Hnilica Počítačové modelování 18

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

Kurz LSL skriptování. Shiny Iceberg 2009

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

ČSFD.cz - technická specifikace reklamních formátů

Programovací jazyky Přehled a vývoj

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

Základy HTML, URL, HTTP, druhy skriptování, formuláře

Generické programování

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.

Stručný návod k programu Octave

Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

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

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

ČERV. Hra Červ je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

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

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

Úvod do programovacích jazyků (Java)

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

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17

Objektově orientované programování v PHP 5. Martin Klíma

Tvorba webových stránek

ČSFD.cz - technická specifikace reklamních formátů

KTE / ZPE Informační technologie

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

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

================================================================================ =====

Příkazové skripty Procedurální jazyky Lua a ostatní

Transkript:

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

Nacionále: JavaScript 101 Vznik: Netscape, 1995 Původně Mocha, později LiveScript, nakonec z marketingových důvodů přejmenován na JavaScript

JavaScript 101 JavaScript NENÍ Java!

JavaScript 101 1997 standardizován organizací ECMA 1998 standard ISO Standardizovaná verze: ECMAScript (původně ECMA-262, dnes ECMAScript 5) Dialekty a odvozeniny: JScript (Microsoft), ActionScript (Flash) Každý si jej implementuje lehce odlišně!

JavaScript 101 Programovací jazyk: - interpretovaný - dynamický - slabě typovaný - objektově orientovaný (!) - objekty pomocí rozšíření asociativních polí o prototyp -...

JavaScript 101 Programovací jazyk: - funkcionální: - funkce jsou "1st class citizen" ("funkce první třídy") - funkce je i hodnota - anonymní funkce - funkce jako konstruktor objektu

JavaScript 101 Syntax podobná jako v C/Javě (C-like): bloky pomocí složených závorek ukončování příkazů středníkem ale NENÍ TO C ani JAVA!

JavaScript 101 Citace: JavaScript je prasárna JavaScript je pomalý JavaScript je koncepčně špatný JavaScript je špatná kopie C Společným jmenovatelem: Nepochopení a fakt, že JS není C / Java

JavaScript - základy Jednoduché typy: číslo (1, 42, -26, 3.5, 3.1415, 1e6,...) (JS interně pracuje s čísly float) řetězec ("ahoj", 'svete') logická hodnota (true, false) nic (null)

JavaScript - základy Automatická konverze mezi typy 100 + "Ahoj" => "100Ahoj" "10" + 20 => "1020" "10" * 1 => 10 10 + "" => "10" Duck typing: "Vypadá to jako číslo a je to tam, kde může být číslo, tak to asi bude číslo"

JavaScript - základy Pole: var a = [10, 20, 30, 40, 50] Přístup: a*0+.. a*4+ Počet položek: a.length (=>5)

JavaScript - základy Objekt: var o = {prvni: 10, druhy:20, treti:30} (dvojice klíč:hodnota) Přístup jako k objektu: o.prvni, o.druhy, o.treti Přístup jako k poli: o*"prvni"+ Jednotlivé prvky procházíme konstrukcí for (key in o) {... }

JavaScript - základy Uvedené informace jsou jen naprosté základy! Celá problematika je mnohem složitější

JavaScript - základy Funkce: function add (x,y) { return x+y; } var x = soucet(10, 20); var y = soucet("ahoj", 42);

JavaScript - základy Funkce jsou hodnota, takže je můžeme přiřadit proměnné: var add = function(x,y) { return x+y; } Tento zápis je funkčně identický s předchozím

JavaScript - základy Třídy jako v Javě Nejsou! Dědičnost jako v Javě Není! Viditelnost (private...) Není!

JavaScript - základy Jak se tedy řeší OOP konstrukce? Prototypováním funkcí (pokročilé téma, pro zájemce: http://zdrojak.root.cz/serialy/oop-vjavascriptu/)

JavaScript - základy Viditelnost proměnných: 1. Pomocí "var" definujeme lokální proměnnou pro blok (funkci, tělo smyčky,...) var a = 10; function x() { var a = 20; //zde má a hodnotu 20 } x(); //zde má a hodnotu 10

JavaScript - základy Viditelnost proměnných: 2. Není-li lokální definice, použije se globální var a = 10; function x() { a = 20; //bez VAR!!! //zde má a hodnotu 20 } x(); //zde má a hodnotu 20 ve funkci jsme si ji přepsali

JavaScript - základy Viditelnost proměnných: Test co vypíše alert()? var a = 10; function x() { alert(a); var a; a = 20; } x();

JavaScript - základy Důkaz místo slibů...

JavaScript - základy Viditelnost proměnných: 3. V bloku se nejprve vytvoří všechny proměnné, pak teprve vykonává kód var a = 10; function x() { alert(a); //UNDEFINED! var a; a = 20; }

JavaScript - základy Jazykové konstrukce if (podmínka) {...} if (podmínka) {...} else {...} while (podmínka) {...} for (iniciace;podmínka;aktualizace) {...} for (var i=0; i<10; i++) {alert(i);} for (klic in objekt) {...}

JavaScript + HTML Do stránky lze vložit několika způsoby: 1. Přímo: <script>... </script> 2. Odkazem na soubor: <script src="/js/skript.js">

JavaScript + HTML 3. Přímo jako obsluhu událostí <a href="#" onclick="alert(1)">klikni sem!</a>

Události? HTML elementy mohou reagovat na akce uživatele (nejčastěji myš, klávesnice, dotyková gesta) a vyvolat "událost", kterou lze pomocí skriptu obsloužit Akce: kliknutí (onclick, ondblclick), najetí myší (onmouseover), odjetí myší (onmouseout), aktivace (onfocus), deaktivace (onblur), stisk klávesy (onkeypress), puštění klávesy (onkeyup), změně hodnoty (onchange), výběru textu (onselect)...

JavaScript + HTML Ukázka: <!doctype html> <html> <head>... </head> <body> <button id="tlacitko">tlačítko</button> </body> </html>

JavaScript + HTML Ukázka, která i něco dělá:... <body> <button id="tlacitko" onclick="alert('ahoj')"> Tlačítko </button> </body> </html>

JavaScript + HTML <script> function pozdrav() { alert("ahoj"); } </script> </head> <body> <button id="tlacitko" onclick="pozdrav()">tlačítko</button>

JavaScript + HTML <script> var pocet = 0; function pozdrav() { pocet++; alert("stisknuto "+pocet+"-krát"); } </script>

JavaScript + HTML Hezké, ale co dál...?...víc po přestávce!