Java Script Mgr Valentna Guniov Klub uiteov informatiky
Java. Script Mgr. Valentína Gunišová Klub učiteľov informatiky, 15. 5. 2003
Javascript je programovací jazyk so základnými objektovo orientovanými schopnosťami. Stránka na webe môže obsahovať vďaka Javascriptu dynamické programy komunikujúce s používateľom (dialógové okná a užívateľské vstupy - formulár). Javascript umožňuje riadiť prehliadač, pracovať s oknami a dynamicky vytvára obsah HTML (vkladanie dátumu a času, matematické výpočty, . . . ). Klub učiteľov informatiky, 15. 5. 2003
Javascript – troška teórie • Lexikálna štruktúra • Identifikátory (premenné a funkcie) • Výrazy a operátory • Príkazy Klub učiteľov informatiky, 15. 5. 2003
Java. Script – lexikálna štruktúra • Java. Script je citlivý na veľké a malé písmená, • riadok ukončujeme znakom ; (bodkočiarka), príkazy v jednom riadku oddeľujeme znakom , (čiarka), • akýkoľvek text medzi // a koncom riadku sa považuje za poznámku; akýkoľvek text medzi /* a */ sa považuje za poznámku, • ak riadok začína postupnosťou <!--, Java. Script ho považuje za jednoriadkovú poznámku, ale nerozpoznáva uzatváraciu sekvenciu -->. Klub učiteľov informatiky, 15. 5. 2003
Java. Script –údajové typy • číslo s pohyblivou desatinnou čiarkou, • číslo v osmičkovej sústave (začína ± 0), • číslo v šestnástkovej sústave (začína ± 0 x), • reťazec, • boolean (true, false; 1, 0; napr. 4 + true je 5), • pole (súbor pomenovaných údajov – každá údajová hodnota poľa má svoj index, prvky poľa môžu byť rôznych typov), • objekt (súbor pomenovaných údajov – vlastností a metór). Klub učiteľov informatiky, 15. 5. 2003
Java. Script –údajové typy • najväčšie kladné číslo, s akým pracuje Java. Script zistíte, ak do URL riadku vášho prezerača napíšete: javascript: Number. MAX_VALUE (najmenšie záporné je -Number. MAX_VALUE) • najmenšie kladné číslo, s akým pracuje Java. Script zistíte, ak do URL riadku vášho prezerača napíšete: javascript: Number. MIN_VALUE (najväčšie záporné je -Number. MIN_VALUE) Ak sa hodnota s pohyblivou desatinnou čiarkou stane väčšou (menšou) ako najväčší prezentovateľný typ, výsledkom je špeciálna hodnota Infinity ( -Infinity) Klub učiteľov informatiky, 15. 5. 2003
Java. Script –údajové typy • Pole v Java. Scripte môže mať ľubovoľnú dĺžku, ktorú vopred nešpecifikujeme. Každý jeho prvok môže byť iného typu. Prvý prvok poľa má index 0. • Vytvorenie poľa: a = Array(); b = Array(4); c = Array(1, 2, ”ahoj”, 0 x 20) a[0] = 1; b[a[0]] = “dvojka”; document. write(b[5]); //nedefinujeme dĺžku poľa //pole dĺžky 4 //inicializácia prvkov poľa //vypíše undefined • Java. Script nepodporuje skutočné viacrozmerné polia, môžeme ale pracovať s poľom polí: a = Array(), Array()); b = Array(1, ”ahoj”), Array(“cau”, 34)); a[0][0] = 34; document. write(b[1][0]); //vypíše cau - prvok v 2. riadku a 1. stĺpci Klub učiteľov informatiky, 15. 5. 2003
Java. Script –údajové typy Príklad: Načítanie a výpis prvkov poľa. a = Array(); //načítanie prvkov poľa z klávesnice pomocou dialógového okna for (i = 0; i <=3; i++) a[i] = window. prompt(); //výpis prvkov poľa for (i = 0; i < 4; i++) document. write(a[i]); //alebo for (i = 0; i <= 3; i++) document. write(a[i]); //to isté docielime aj pomocou vlastnosti length for (i = 0; i < a. length; i++) document. write(a[i]); Klub učiteľov informatiky, 15. 5. 2003
Java. Script – špeciálne hodnoty • null (predstavuje chýbajúcu hodnotu, ide o hodnotu objektového typu, takže ak má premenná hodnotu null, vieme, že neobsahuje platný objekt, pole, číslo, reťazec, . . . ), • Na. N (Not-a-Number) napr. napíšte do URL riadku prezerača javascript: a=5; b=“ahoj”; c=a*b; • Undefined napr. použijeme premennú, ktorú sme deklarovali var a, ale nebola jej ešte priradená hodnota). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – identifikátory • ide o názov premennej alebo funkcie, • prvý znak identifikátora musí byť písmeno alebo podčiarovník alebo $), • ako identifikátor nemôžu byť použité rezervované slová Java. Scriptu, kľúčové slová Javy rezervované Java. Scriptom a niektoré ďalšie (alert, escape, History, Text, Window, Document, close, . . . ). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – premenné • Java. Script je netypový jazyk (i=4; i=new Date(); ), • premenné vo všeobecnosti nie je potrebné deklarovať, ale môžeme tak urobiť (var a, b alebo var a = 5), • premennú je potrebné deklarovať, ak ju chceme použiť ako lokálnu premennú funkcie a jej názov je totožný s globálnou premennou, • Java. Script dokáže vhodne pretypovať premenné (napr. ak sčítame číselnú premennú s reťazcovou) Skúste napísať do URL riadku prezerača: javascript: x=4; y=“ahoj”; x+y; javascript: x=4; y=“ 54”; x+y; Záver: číselná premenná je pretypovaná na reťazcovú. Klub učiteľov informatiky, 15. 5. 2003
Java. Script – funkcie • funkcie v Java. Scripte sú skutočnými údajovými typmi, môžeme s nimi pracovať ako s premennými, môžu byť argumentom inej funkcie, • funkcia môže byť priradená niektorému objektu (je metódou tohto objektu, napr. objekt Math a jeho metóda abs: Math. abs). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – výrazy a operátory • jednoduché výrazy, • zložené výrazy (uzatvárame ich medzi znaky { a }). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – výrazy a operátory Prehľad niektorých operátorov: - (rozdiel čísel), + (súčet čísel, zlučovanie reťazcov), * (súčin čísel), / (podiel čísel), ++ inkrementácia (pred alebo po) - - dekrementácia (pred alebo po) % (zvyšok po delení), == (rovná sa), != (nerovná sa), && (logické AND), || (logické OR), = (priradenie), *=, /=, %=, +=, -= (priradenie s operáciou), ? : (podmienkový operátor), new (vytvorenie nového objektu), delete (zrušenie objektu). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – výrazy a operátory • Priradenie s operáciou: x=3, y=4; y=y+x; x=3, y=4; y+=x; • Podmienkový operátor: x=4; y=2; (y=0)? Document. write(”nedelím nulou“): Document. write(x/y); Klub učiteľov informatiky, 15. 5. 2003
Java. Script – výrazy a operátory • Inkrementácia po: x=3, y=3; y=y+x; x=x+1; x=y=3; y+=x++; • Inkrementácia pred: x=3, y=3; x=x+1; y=y+x; x=y=3; y+=++x; Klub učiteľov informatiky, 15. 5. 2003
Java. Script – výrazy a operátory • Dekrementácia po: x=3, y=3; y=y+x; x=x-1; x=y=3; y+=x--; • Dekrementácia pred: x=3, y=3; x=x-1; y=y+x; x=y=3; y+=--x; Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkazy • • • if while for break continue with var function return prázdny príkaz Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz if • if (podmienka) príkaz; • if (podmienka){ príkaz 1; príkaz 2; … } Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz if • if (podmienka) príkaz 1; else príkaz 2; • if (podmienka) { príkaz 1; príkaz 2; … } else { • príkaz_1; príkaz_2; … } Pozor, else sa považuje za súčasť najbližšieho if! Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz while • while (podmienka) príkaz; • while (podmienka) { príkaz 1; príkaz 2; … } Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz for • for (inicializácia; podmienka; aktulizácia) príkaz; • for (inicializácia; podmienka; aktulizácia) { príkaz 1; príkaz 2; … } Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz break • používame ho v cykloch while a for na ukončenie behu cyklu (napr. ak v poli hľadáme prvé kladné číslo – nemusíme cyklom for prejsť celé pole, ale keď nájdeme hľadaný prvok, cyklus ukončíme). Java. Script – príkaz continue l používame ho v cykloch while a for na ukončenie aktuálneho cyklu a začatie nového cyklu (napr. ak chceme, aby isté hodnoty prvkov poľa neboli zahrnuté do nejakého výpočtu). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz with • zjednodušuje prácu s objektami: x = Math. abs(-342); y = Math. sin(Math. pi/4); nahradíme with Math { x = abs(-342); y = sin(pi/4); } Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz var • príkaz var slúži na deklarovanie premenných, používame ho najmä na deklarovanie lokálnych premenných funkcií, • ak použijeme príkaz var v inicializačnej časti príkazu for, táto premenná sa stáva globálnou (teda neplatí len v cykle for). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz function • umožňuje definovať funkcie: function meno_funkcie () { príkazy; } function meno_funkcie (argumenty) { príkazy; } • Príkazy, ktoré tvoria telo funkcie, sa vykonajú až po zavolaní funkcie (meno_funkcie (), resp. meno_funkcie(argumenty). Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz function • Kam umiestniť definíciu funkcie? Do hlavičky HTML dokumentu. Odkiaľ ju volať? Z tela HTML dokumentu alebo z inej funkcie (nie je dokonca potrebné ustrážiť to, aby funkcia, ktorá je volaná inou funkciou, bola definovaná ako prvá). <html> <head> <script language=“Java. Script”> function pytagoras(a, b){return(Math. sqrt(a*a+b*b)); } </script> </head> <body> <script language=“Java. Script”> c=pytagoras(4, 3); document. write(“<b>Prepona má dĺžku: </b> “ + c); </script> </body> </html> Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz function • Kvôli prehľadnosti je dobré použiť externý súbor nazov_suboru. js, ktorý obsahuje definície funkcií (knižnica funkcií). V HTML dokumente stačí špecifikovať, kde sa nami používané funkcie nachádzajú: <html> <head> <script language=“Java. Script” SRC=“nazov_suboru. js”> </script> </head> <body> <script language=“Java. Script”> // tu môžeme pracovať s funkciami, ktorých definície sa nachádzajú v súbore // nazov_suboru. js </script> </body> </html> Klub učiteľov informatiky, 15. 5. 2003
Java. Script – príkaz return • príkaz return použijeme v tele funkcie, určuje hodnotu, ktorú funkcia vráti: return výraz; • ak ho nepoužijeme alebo napíšeme return; (bez výrazu), vráti nedefinovanú hodnotu. Klub učiteľov informatiky, 15. 5. 2003
Java. Script – prázdny príkaz • na prvý pohľad zbytočnosť: ; • príklad použitia – súčet čísel od 1 po n: n=10; s=0; for (i=1; i<=n; s+=(i++)); Document. write(s); • Aká bude hodnota premennej s v tomto prípade: n=10; s=0; for (i=1; i<=n; s+=(++i)); Document. write(s); Klub učiteľov informatiky, 15. 5. 2003
Javascript – praktické príklady • práca s oknami a dokumentom • objekt windowobjekt_window. htm • • ramceindex. htm • objekt_dokument. htm • dialogove_okna. htm matematické funkcie • objekt_math. htm práca s dátumom a časom preklapanie_obrazkov. htm formular. htm Klub učiteľov informatiky, 15. 5. 2003
Javascript - internetové zdroje • www. javascript. sk jednoduchá príručka + množstvo príkladov (momentálne nefunkčné), kópia je napr. : na http: //www. gjar-po. sk/studium/informatika. htm#programovanie, programovanie a internet • http: //www. builder. cz diskusia a články o Java. Scripte • http: //www. scriptsearch. com množstvo skriptov, nie len Java. Script Klub učiteľov informatiky, 15. 5. 2003
- Slides: 32