Tento překlad není kompletní. Prosím pomozte přeložit tento článek z angličtiny.
Tato kapitola seznamuje s JavaScriptem a probírá některé z jeho základních konceptů.
Co byste již měli znát
Tato příručka předpokládá, že již ovládáte následující základy:
- Obecné povědomí o Internetu a World Wide Web (WWW).
- Dobrá úroveň zkušeností s HyperText Markup Language (HTML).
- Nějaké zkušenosti s programováním. Pokud s programováním začínáte, zkuste jeden z tutoriálů odkazovaných na hlavní stránce o JavaScriptu.
Kde najít informace o JavaScriptu
Dokumentace JavaScriptu na MDN zahrnuje následující body:
- Učíme se Web poskytuje informace pro začátečníky a zasvěcuje do základních konceptů programování a Internetu.
- Průvodce JavaScriptem (tento dokument) poskytuje přehled jazyka JavaScript a jeho objektů.
- Referenční manuál JavaScriptu poskytuje detailní dokumentaci pro JavaScript.
Pokud s JavaScriptem teprve začínáte, podívejte se nejdříve na články ve výukové části a v Průvodci JavaScriptem. Jakmile si budete jistí v základech, můžete využít Referenční příručku JavaScriptu, abyste získali podrobnosti o jednotlivých objektech a příkazech.
Co je to JavaScript?
JavaScript je multiplatformní, objektově orientovaný skriptovací jazyk. Je to malý a odlehčený jazyk. JavaScript se může v hostitelském prostředí (např. webovém prohlížeči) vázat na jeho objekty, a poskytovat tak prostředky k jejich ovládání.
JavaScript obsahuje standardní knihovnu objektů, jako jsou Array
, Date
a Math
, a hlavní prvky jazyka, mezi něž patří operátory, řídicí struktury a příkazy. Jádro JavaScriptu může být z nejrůznějších důvodů rozšířeno doplněním o další objekty, například:
- Client-side JavaScript rozšiřuje jádro jazyka o objekty pro ovládání prohlížeče a objektového modelu dokumentu (Document Object Model – DOM). Client-side rozšíření například umožňuje vkládat prvky do HTML formuláře nebo reagovat na uživatelské události, jako je kliknutí, zadání dat do formuláře nebo navigace mezi stránkami.
- Server-side JavaScript rozšiřuje jádro jazyka o objekty podstatné pro běh JavaScriptu na serveru. Server-side rozšíření umožňuje aplikaci například komunikovat s databází, souvisle poskytovat informace od jednoho vyvolání aplikace k druhému nebo manipulovat se soubory na serveru.
JavaScript a Java
JavaScript a Java jsou si v některých směrech podobné, ale v některých se zásadně liší.. JavaScript připomíná Javu, ale nemá její statické typování ani silnou typovou kontrolu. JavaScript se drží syntaxe javovských výrazů, jmenných konvencí a základních konstrukcí pro řídicí struktury, což bylo důvodem k jeho přejmenování z LiveScriptu na JavaScript.
Na rozdíl od javovského systému založeného na deklaracích známých v době překladu podporuje JavaScript runtime systém vycházející z malého počtu datových typů reprezentujících číselné, booleovské a řetězcové hodnoty. JavaScript má místo běžného objektového modelu tvořeného třídami prototypový objektový model. Ten poskytuje dynamické dědění, což znamená, že zděděné vlastnosti se mohou napříč jednotlivými objekty odlišovat. JavaScript rovněž podporuje funkce bez zvláštních požadavků na jejich deklaraci. Mohou být vlastností objektu, přičemž jsou pak vykonávány jako volně typované metody.
JavaScript je oproti Javě velmi uvolněný jazyk. Nemusíte deklarovat všechny proměnné, třídy a metody. Nemusíte se starat o to, jestli jsou public, private nebo protected a nemusíte implementovat žádná rozhraní. Proměnné, parametry a návratové typy funkcí nejsou explicitně typovány.
Java je na třídách založený programovací jazyk navržený pro rychlý výkon a bezpečné typování. Tím se myslí například to, že nelze přetypovat javovský celočíselný typ na objektový typ nebo přistupovat k privátní paměti narušením Java byte kódu. Javovským modelem tříd myslíme to, že se programy skládají výhradně ze tříd a jejich metod. Dědění tříd a silné typování v Javě obecně vyžaduje úzce vázané hierarchie objektů. Tyto požadavky dělají programování v Javě komplexnějším oproti JavaScriptu.
Naproti tomu JavaScript vychází z řady menších jazyků s dynamickým typováním, jako jsou HyperTalk a dBASE. Tyto skriptovací jazyky nabízejí programovací prostředky mnohem širšímu publiku díky své jednodušší syntaxi, speciálním vestavěným funkcím a minimálním požadavkům při vytváření objektů.
JavaScript | Java |
---|---|
Objektově orientovaný. Nerozlišuje mezi typy a objekty. Dědí se pomocí mechanismu prototypů, přičemž atributy a metody mohou být libovolnému objektu přidány dynamicky. |
Založena na třídách. Objekty jsou děleny na třídy a instance, přičemž dědění se řídí hierarchií tříd. Třídy ani instance nemohou být dynamicky rozšířeny o metody nebo atributy. |
Pro proměnné se nedeklarují datové typy (dynamické typování). | Pro proměnné musí být deklarovány datové typy (statické typování). |
Nemůže samočinně zapisovat na disk. | Může samočinně zapisovat na disk. |
Pro více informací o odlišnostech mezi JavaScriptem a Javou se podívejte na Detail objektového modelu.
JavaScript a specifikace ECMAScript
JavaScript je standardizován v Ecma International — evropské asociaci pro standardizaci informačních a komunikačních systémů (ECMA je zkratkou původního označení European Computer Manufacturers Association), aby mohl vzniknout standardizovaný mezinárodní programovací jazyk založený na JavaScriptu. Tato standardizovaná verze JavaScriptu nazývaná ECMAScript se chová stejně ve všech aplikacích, které podporují definovaný standard. Společnosti mohou využít tento otevřený jazykový standard k vývoji jejich vlastní implementace JavaSCriptu. Standard ECMAScriptu dokumentuje ECMA-262 specifikace. Chcete-li se dozvědět více o odlišných verzích JavaScriptu a vydáních ECMAScript specifikace, podívejte se na kapitolu Nováčkem v JavaScriptu.
ECMA-262 standard je rovněž schválen organizací ISO (International Organization for Standardization – mezinárodní organizace pro standardizaci) jako ISO-16262. Specifikaci můžete najít také na webu Ecma International. ECMAScript specifikace nepopisuje objektový model dokumentu (DOM), který je standardizován organizací World Wide Web Consortium (W3C). DOM definuje způsob, jakým jsou objekty HTML dokumentu poskytovány vašemu skriptu. Chcete-li získat širší ponětí o odlišných technologiích, jež jsou používány při programování v JavaScriptu, nahlédněte do článku JavaScript – technologický přehled.
Dokumentace JavaScriptu versus specifikace ECMAScript
Specifikace ECMAScriptu je souborem požadavků na implementaci ECMAScriptu; lze ji uplatnit, chcete-li ve vaší implementaci ECMAScriptu nebo enginu (jako je SpiderMonkey ve Frefoxu nebo v8 v Chrome) realizovat prvky jazyka vyhovující standardům.
Dokumentace ECMAScriptu si neklade za cíl pomoci programátorům, pro získání informací o psaní skriptů použijte dokumentaci JavaScriptu.
Specifikace ECMAScriptu využívá terminologii a syntax, která možná nebude připadat programátorovi JavaScriptu známá. Ačkoliv se může popis jazyka v ECMAScriptu lišit, jazyk sám o sobě zůstává stejný. JavaScript podporuje veškeré funkce prezentované ve specifikaci ECMAScriptu.
Dokumentace JavaScriptu popisuje ty stránky jazyka, které jsou vhodné pro programátora JavaScriptu.
Začínáme s JavaScriptem
Začít s JavaScriptem je snadné: potřebujete jen moderní webový prohlížeč. Tento průvodce používá některé vlastnosti JavaScriptu, které jsou v současnosti dostupné v posledních verzích Firefoxu, proto doporučujeme používat jeho nejnovější verzi.
Ve Firefoxu jsou vestavěny dva užitečné nástroje pro experimentování s JavaScriptem: Webová konzole a Zápisník.
Webová konzole
Webová konzole zobrazuje informace o momentálně načtené webové stránce a zároveň obsahuje příkazovou řádku, kterou můžete použít k vykonání javascriptových výrazů přímo nad aktuální stránkou.
Webovou konzoli (Ctrl+Shift+K) otevřete výběrem nabídky "Webová konzole" z menu "Vývojář", které najdete pod položkou "Nástroje" v hlavní nabídce Firefoxu. Zobrazí se ve spodní části okna prohlížeče. V dolním okraji konzole je umístěna příkazová řádka, již můžete použít k zadání JavaScriptu; výstup se pak zobrazí v panelu nad ní.
Zápisník
Webová konzole je skvělá pro vykonávání jednotlivých řádek JavaScriptu, ale přestože v ní můžete vykonávat i více řádek najednou, nehodí se na to a ani její obsah nemůžete uložit. Proto je lepší pro komplexnější příklady použít Zápisník.
Zápisník (Shift+F4) otevřete výběrem "Zápisník" v menu "Vývojář", které naleznete v hlavní nabídce Firefoxu. Zobrazí se v odděleném okně jako editor, který můžete použít k zápisu a vykonání JavaScriptu v prohlížeči. Skripty rovněž můžete ukládat nebo načítat z disku.
Hello World
Abyste mohli začít s psaním JavaScriptu, otevřete Zápisník a napište váš první "Hello World" javascriptový kód:
function greetMe(yourName) { alert("Hello " + yourName); } greetMe("World");
Označte kód zapsaný v editoru a stikněte Ctrl+R, abyste mohli sledovat, co se s ním bude dít v prohlížeči!
Na následujících stránkách vás tento průvodce seznámí se syntaxí a vlastnostmi JavaScriptu tak, že zvládnete psít i složitější aplikace.