8 Cursul 8

4
Tehnologii WEB Cursul 8 JavaScript JavaScript este un limbaj " client-oriented ", ce poate fi folosit impreuna cu HTML pentru a produce pagini dinamice, interactive. Javascript este un limbaj este compilat. Codul JavaScript poate fi introdus direct in sursa HTML (in sec sau prin apelarea unui fisier e#tern$. %nterpretorul JavaScript este c&iar bro JavaScript este un limbaj care: poate reactiona la evenimente) se pot scrie functii JavaScript care s un eveniment are loc. (e#emple de evenimente) onLoad, onClic*, on+ocus, etc$ poate citi si scrie elemente (tag uri$ HTML. Structura unei pagini 'e este arborescenta, si poate fi accesata prin metode specifice (e#) functia get poatefi folosit pentru validarea formularelor (prin verificarea continutului campurilor, la trimitere$ poate fi folosit pentru alte operatii "client" de tip) detectarea tip sistemului de operare, etc. poate fi folosit pentru a crea / opera cu coo*ie uri. Exemplu de folosire a unui script JavaScript: 0rin implementarea urmatorului cod se va afisa o pagina 'eb ce contine "#emplu JavaScript" <html> <body> <script type="text/javascript"> document.write("Exemplu ava!cript" # </script> </body> </html> Includerea fisierelor eterne: %n fisierele HTML pot fi incluse fisiere ce contin cod JavaScript, oper ratiuni de optimi1are S2, este c&iar indicat sa fie facuta$. %n plus, acelasi pe mai multe pagini, daca este necesar. !ceste fisiere trebuie sa aiba e#tensi !js! Modalitatea de includere este) <html> <head> <script type="text/javascript" src="nume.js"></script> </head> <body> </body> </html> "ariabile in JavaScript %n Javascript nu este necesara preci1area tipului de date, precum in C limbaje invatate de voi pana acum. -ro'serul reali1ea1a singur identificarea t e asemenea singur face conversiile necesare (e#emplu) 34"abc" il va converti

description

curs 8 web

Transcript of 8 Cursul 8

Tehnologii WEBCursul 8

JavaScriptJavaScript este un limbaj "client-oriented", ce poate fi folosit impreuna cu HTML pentru a produce pagini dinamice, interactive. Javascript este un limbaj interpretat, insa nu este compilat. Codul JavaScript poate fi introdus direct in sursa HTML (in sectiunea HEAD sau prin apelarea unui fisier extern). Interpretorul JavaScript este chiar browser-ul web.

JavaScript este un limbaj care:- poate reactiona la evenimente: se pot scrie functii JavaScript care se executa cand un eveniment are loc. (exemple de evenimente: onLoad, onClick, onFocus, etc);- poate citi si scrie elemente (tag-uri) HTML. Structura unei pagini web (HTML) este arborescenta, si poate fi accesata prin metode specifice (ex: functia getElementById );- poate fi folosit pentru validarea formularelor (prin verificarea continutului campurilor, la trimitere);- poate fi folosit pentru alte operatii "client" de tip: detectarea tipului browserului, a sistemului de operare, etc.;- poate fi folosit pentru a crea / opera cu cookie-uri.

Exemplu de folosire a unui script JavaScript:Prin implementarea urmatorului cod se va afisa o pagina web ce contine textul "Exemplu JavaScript";

document.write("Exemplu JavaScript");

Includerea fisierelor externe:In fisierele HTML pot fi incluse fisiere ce contin cod JavaScript, operatie ce din ratiuni de optimizare SEO, este chiar indicat sa fie facuta). In plus, acelasi cod poate fi folosit pe mai multe pagini, daca este necesar. Aceste fisiere trebuie sa aiba extensia .js. Modalitatea de includere este:

Variabile in JavaScriptIn Javascript nu este necesara precizarea tipului de date, precum in C sau alte limbaje invatate de voi pana acum. Browserul realizeaza singur identificarea tipului de date. De asemenea singur face conversiile necesare (exemplu: 3+"abc" il va converti pe 3 la string in mod automat). Variabilele pot fi declarate cu var(var a;), caz in care sunt locale pentru blocul de instructiuni in care se afla. Dar pot sa fie create si fara var insa e necesara o initializare (in momentul in care browserul intalneste de exemplu b=3, iar b nu a mai fost folosit pana atunci, este creata variabila b), si in acest caz ele vor fi globale chiar daca sunt create intr-un bloc de instrunctiuni delimitat de acolade (cum ar fi corpul unei functii sau al unei bucle while etc.). Variabilele in JavaScript se declara astfel:var x;var numeVar="exemplu";Ca si in PHP, nu se face diferenta intre tipul variabilelor. Variabilele JavaScript sunt literali simpli (nu avem nevoie de simboli tip $, ca in PHP, pentru anuntarea unei variable).

Instructiuni si operatori in JavaScriptSunt perfect similari cu cei din limbajele orientate obiect (JAVA, PHP). Este si cazul constructiilor if, while, for, switch.Le-ati mai intalnit si in cadrul celorlalte limbaje pe care le cunoasteti. Instructiunea break fara argumente oprea bucla (while, for, do..while) in care se afla; era o iesire fortata din bucla. Instructiunea continue se folosea tot in cadrul buclelor si forta programul sa sara peste instructiunile din bucla de dupa ea (practic sa ignore instructiunile aflate sub continue), incepand imediat o noua iteratie a buclei. Se pune problema: ce facem atunci cand avem mai multe bucle? Break si continue fara argumente se refera la bucla cea mai apropiata, practic cea mai din interior bucla care le contine. Dar uneori vrem sa oprim o bucla mai din exterior. Pentru asta putem folosi etichete, ca in exemplul de mai jos.eticheta:instructiune_repetitiva1{...[eventual alte instructiuni repetitive imbricate]{break eticheta;}...}

In exemplu punem o eticheta inaintea buclei cea mai din exterior. Se presupune ca avem mai multe bucle imbricate si cu un break in cea mai din interior bucla vrem sa oprim bucla principala. In acest caz, break va fi urmat de numele etichetei pentru a indica precis la care bucla ne referim.

Functii in JavaScriptManiera de definire a functiilor in JavaScript este una uzuala. Iata un exemplu:

function displaymessage(){alert("Hello World!");}

Acest exemplu, va avea ca efect, afisarea unui Message Box la apasarea butonului din formular. Message Box-ul contine string-ul "Hello World".O functie se declara astfel (cu ajutorul cuvantului function):function f (param_1, param_2,...,param_n){..instrunctiuni..return ceva;}

Functiile se pot declara oriunde in cod. Nu exista function overload; daca se declara mai multe functii cu acelasi nume, va fi luata in considerare doar ultima functie cu acel nume.Functiile sunt practic un tip de obiecte in JavaScript, deci ele au propriile metode si proprietati. Proprietatea cea mai importanta este obiectul arguments. Acesta se aseamana cu un vector (dar nu este un obiect de tip Array() ci se incadreaza intr-un tip special de obiecte). Argumentul cu numarul i poate fi accesat in cadrul corpului functiei prin arguments[i]. Obiectul arguments are si proprietatea length prin care se poate vedea cate argumente a primit functia.

Puteti citi mai multe despre acest obiect la:http://docstore.mik.ua/orelly/webprog/jscript/ch07_04.htm

In JavaScript o functie chiar daca este declarata cu un anume numar de argumente, ea poate fi apelata de fapt cu oricate. De exemplu daca avem o functie definita cu doi parametri (exemplu function f(a,b){...}), atunci putem avea mai multe cazuri:

f e apelata cu doi parametri, de exemplu: f(2,3);, si aici totul e clar, in corpul functiei a va lua valoarea 2, b va lua valoarea 3 si arguments.length va fi egal cu 2. f e apelata fara parametri, de exemplu: f();, atunci nu se va genera vreo eroare prin faptul ca apelul nu respecta definitia, ci pur si simplu a si b vor fi ambeleundefined, iar daca in cadrul functiei codul e protejat astfel incat sa nu se ruleze instructiuni care depind de a si b fara a se testa faptul ca a si b sunt instantiate, functia se va executa fara probleme. In acest caz arguments.length va fi egal cu 0. f e apelata cu un singur parametru, de exemplu: f(2);, aici a va lua valoarea 1 si b va fi undefined, iar arguments.length va fi egal cu 1. f e apelata cu mai multi parametri, de exemplu: f(2,3,1,9);, aici a si b vor lua valorile primilor parametri oferiti, respectiv 2 si 3 iar restul parametrilor vor fi ignorati, daca nu sunt luati din obiectul arguments. In acest exemplu arguments.length va fi egal cu 4.

Aplicaia adunare ne adun dou numere scrise n 2 csue de text i cnd apsm un buton ne scrie rezultatul n a treia csu de text.Adunare

function adunare(form){form.rezultat.value=eval(form.prim.value)+eval(form.secund.value);}

+