P005 SLUŽBY POČÍTAČOVÝCH SÍTÍObsah |
Datové typy a deklarace
Datové typy jsou jednak
var i, j; var Jmeno = "Tomas"; var Vystup = false;Povolenými znaky v identifikátorech proměnných jsou písmena, číslice a podtržítka "_", prvním znakem je povinně písmeno nebo "_".
JavaScript je case-sensitive, tzn. rozlišuje v identifikátorech verzálky/minusky (velká/malá písmena).
Umístění skriptu
JavaScript je velmi "tolerantní" v možnostech umístění kódu. Delší a vícenásobně použitelné skripty umisťujeme do separátních dokumentů, kratší přímo do dokumentu, kde je používáme a ještě kratší fragmenty (např. volání JS funkcí) lze dát přímo do HTML tagů - na místa hodnot atributů - např. ošetření událostí i hodnoty jiných vlastností. V separátním dokumentu
Skript umístíme do separátního dokumentu (již nikoli HTML) zpravidla s extenzí ".js". Server musí být nakonfigurován, aby soubory s touto příponou chápal jako skripty a posílal v HTTP hlavičce správný MIME-typ (application/x-javascript).
V hlavičce dokumentu, kde chceme daný skript použít, umístíme:
<SCRIPT SRC="url-of-the-script">
... co je zde, se ignoruje, pokud nenastane chyba při čtení externího skriptu!!!
</SCRIPT>
Přímo v dokumentu
Je možné specifikovat verzi JS, např.:
<SCRIPT LANGUAGE="JavaScript1.2">
... kód skriptu
</SCRIPT>
Podporuje-li prohlížeč vyšší verzi JS a definujeme-li např. funkci ve více částech skriptu pro různé verze, prohlížeč si vybere definici pro nejvyšší jím podporovanou verzi. Pro starší prohlížeče (velmi staré...) umístíme skript do komentáře:
<SCRIPT LANGUAGE="JavaScript1.2">
<-- ... kód skriptu
// -- komentář skriptu a konec komentáře HTML -->
</SCRIPT>
Jsou dvě místa pro umístění skriptu přímo v dokumentu:
<SCRIPT LANGUAGE="JavaScript">
document.write("Ahoj!");
</SCRIPT>
Příkazy
Přiřazení
Základním příkazem je přiřazení:
proměnná = výrazDo proměnné se přiřadí hodnota výrazu uvedeného na pravé straně.
Výraz může obsahovat proměnné a konstanty různě pospojované pomocí operátorů. K dispozic jsou samozřejmě běžné operátory jako '+' (sčítání), '-' (odčítání), '*' (násobení), '/' (dělení) a '%' (modulo -- zbytek po celočíselném dělení). V číselných operacích lze kombinovat celočíselné i reálné hodnoty (pochopitelně má-li to smysl).
delta = y - x; obvod = 2 * 3.14 * polomer; palce = centimetry / 2.54;
Inkrementace/dekrementace
Pokud chceme obsah nějaké promměnné zvýšit nebo snížit o jedničku, můžeme použít operátor '++' nebo '--'. Následující dva příkazy jsou ekvivalentní: x = x + 1; x++;
Relační operátory
Opět se shodují s C/C++:
Rovná se: | == |
Nerovná se | :!= |
Ostrá nerovnost: | < > |
Neostrá nerovnost: | <= >= |
Logické operátory
Logické AND (konjunkce): | && |
Logické OR (disjunkce): | || |
Logická negace: | ! |
Bitové operátory
Mají smysl pouze pro celočíselné operandy na 32 bitech, v některých případech i pro čísla se znaménkem -- např. bitový posun se zachováním znaménka je vlastně celočíselné dělení dvěma.
AND (po bitech): | & |
OR (po bitech): | | |
XOR (po bitech): | ^ |
NOT (inverze bitů, unární operátor): | ~ |
1 bitový posun vlevo (unární operátor): | << |
1 bitový posun vpravo (unární operátor): | >> |
1 bitový posun vpravo se zachováním znaménka (unární operátor): | >>> |
Řetězcové operace
Zřetězení (konkatenace):
S1 = S2 + S3Do řetězce S1 přiřadí spojení řetězců S2, S3. Obdobně
S1 += S2připojí za aktuální obsah řetězce S1 řetězec S2.
Další operátory pro modifikace proměnné
Podobně jako C/C++ nabízí JS operátory '+=', '-=', '*=' a '/=' a další (odvozené z bitových operací) s obvyklým významem.
Podmíněný výraz
Stejně jako v C lze napsat:
podmínka ? ano : nePlatí-li podmínka, výraz má hodnotu ano, jinak má hodnotu ne.
Příkazy pro práci s objekty
Řízení chodu programu
Větvení
Tvar úplného větvení je následující:
if (cond) Příkaz1 else Příkaz2Platí-li podmínka cond, provede se Příkaz1, jinak Příkaz2. Část else je nepovinná. Cykly
for (počáteční inicializace; pokračovací podmínka; co se provede po každém kroku) PříkazNapř.:
var i, faktorial = 1; for (i=1; i<=n; i++) { faktorial *= i; }Cyklus while:
while (cond) PříkazVe větvení a cyklech for i while může mít samozřejmě Příkaz podobu složeného příkazu.
Funkce
function Faktorial(n) { if ((n==1) || (n==0)) return 1 else return (n * Faktorial(n-1)); }Takto definovanou funkci můžeme použít pro vypsání tabulky faktoriálů od 1 do 10: var i; for (i=1; i<=10; i++) { document.writeln(i, "! = ", Faktorial(n)); } Jako výsledek dostaneme tabulku:
1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800Funkce -- pravidla a odlišnosti
Podobné jako v C/C++.
Ve skriptu se ignoruje a za komentář považuje vše za znaky // až do konce řádku a vše mezi dvojicí /* a */.
Souhrn - tabulka příkazů JS
Následující: Objekty JavaScriptu Obsah |
Tomáš Pitner tomp@informatics.muni.cz