You are on page 1of 31

1.

Introducere in HTML
Realizarea unui pagini web presupune cunoaterea limbajului HTML (HyperText
Markup Language). Acesta e un limbaj de marcare, introdus de Tim Berners-Lee. Fiind un
limbaj de marcare, HTML nu utilizeaz instruciuni sau comenzi, ci etichete, acestea fiind
numite i balize, elemente sau tag-uri.
Origini
Unul din primele elemente, fundamentale de altfel, ale WWW (World Wide Web) este
HTML, standard ce descrie formatul primar n care documentele sunt distribuite i vzute pe
Web. Multe din trsturile lui, cum ar fi independena fa de platform, structurarea
formatrii i legturile hipertext, fac din el un foarte bun format pentru documentele Internet
i Web. Primele specificaii de baz ale Web-ului au fost HTML, HTTP i URL.
Menire i semnificaii
HTML a fost dezvoltat iniial de Tim Berners-Lee la CERN n 1989. HTML este un
limbaj bazat pe SGML (Standard Generalized Markup Language), o aa-numit aplicaie a
acestuia. SGML este un standard internaional (ISO-8879) aprobat n 1986. HTML a fost
iniial vzut ca o posibilitate pentru fizicienii care utilizeaz computere diferite s schimbe
ntre ei informaie prin mijlocirea Internetului. Erau prin urmare necesare cteva condiii
eseniale: independena de platform, posibiliti hipertext i structurarea documentelor.
Independena de platform semnific faptul c un document poate fi afiat n mod asemntor
(sau aproape identic) de computere diferite (deci cu font, grafic i culori aidoma), lucru vital
pentru o audien numeroas i extrem de variat. Hipertext se traduce prin faptul c orice
cuvnt, fraz, imagine sau element al documentului vzut de un utilizator (client) poate face
referin la un alt document sau chiar la paragrafe din interiorul aceluiai document, ceea ce
uureaz mult navigarea ntre prile componente ale unui document sau ntre multiple
documente. Structurarea riguroas a documentelor permite convertirea acestora dintr-un
format n altul precum i interogarea unor baze de date nglobnd aceste documente.
nceputurile
Nscut n urm cu aproximativ 30 de ani, ntr-o tentativ de a rezolva unele probleme
ivite la transportul documentelor ntre diferite computere, limbajul hipertext a evoluat ncet.
n primii ani de evoluie HTML a demarat lent n principal pentru c i lipseau posibilitile de
a reda publicaii electronice profesionale; limbajul permitea oarece control asupra fonturilor
dar nu permitea inserarea graficii. n 1993, NCSA a mbogit limbajul pentru a permite
inserarea graficii i a construit primul navigator grafic: Mosaic. Au urmat apoi contribuii ad1

hoc ale diverselor firme care au adus tot felul de adugiri limbajului HTML astfel nct, n
1994, limbajul prea scpat de sub control. Urmarea a fost c la prima conferin WWW de la
Geneva (Elveia) s-a constituit un grup de specialiti (HTML Working Group) a crui prim
misiune a fost formalizarea HTML, lucru care s-a concretizat n HTML 2.0. Importana
aciunii acestui grup const n faptul c, odat standardizat, limbajul a putut fi apoi extins ntrun mod mai controlat la alte nivele.
Standardizarea
Standardul oficial HTML este dat de World Wide Web Consortium (W3C), care este
afiliat la Internet Engineering Task Force (IETF). W3C a enunat cteva versiuni ale
specificaiei HTML, printre care i HTML 2.0, HTML 3.0, HTML 3.2, HTML 4.0, HTML
4.01 i, cel mai recent, HTML 5. n acelai timp, autorii de browsere cum ar fi Netscape i
Microsoft, au dezvoltat adesea propriile "extensii" HTML n afara procesului standard i le-au
ncorporat n browserele lor. n unele cazuri (cum ar fi tagul Netscape), aceste extensii au
devenit standarde de facto adoptate de autorii de browsere. Cnd navigatorul ncarc un
document HTML, el "citete" documentul n cutarea tag-urilor HTML, formateaz textul i
imaginea i le afieaz pe ecran. Este motivul pentru care acelai document HTML apare uor
diferit cnd este privit utiliznd navigatoare diferite.
Stadiile prin care trece un standard elaborat de W3C sunt:
-

orice standard i ncepe aventura ca W3C Note;

de aici este preluat de ctre un grup particular de lucru (Working Group) i este
discutat pn cnd se ajunge la un consens;

n acest moment este publicat ca propunere (Working Draft) i n acest stadiu


oricine poate face comentarii;

n momentul n care se obine o susinere i un consens suficient de larg,


directorul W3C decide dac specificaia este gata s devin propunere oficial
de recomandare (Proposed Recommendation);

urmeaz o perioad de 6 sptmni n care toi membrii W3C au ansa s


voteze aceast propunere de recomandare; votul nu este obligatoriu, putnduse vota n 4 moduri diferite:
-

da,

da, sub rezerva unor mbuntiri,

nu, pn cnd anumite sarcini nu sunt ndeplinite,

nu, specificaia trebuie abandonat ;

charta W3C stipuleaz necesitatea obinerii consensului complet, astfel c


fiecare vot trebuie s fie un da fr rezerve ;

dac toi paii anteriori au fost ndeplinii, specificaia trebuie aprobat n final
de Director i se public sub forma unui standard (W3C Recommendation).

n continuare, este prezentat cte ceva despre structura i sintaxa unui document
HTML.
Pentru orice document web trebuie s i se atribuie un tip. Acest tip este specificat n
prima linie a documentului. Este important pentru a se putea deosebi documentul de tip
HTML de cel de tip XHTML sau alte tipuri existente. Pentru documentele de tip HTML
exist 3 tipuri i anume strict, transitional i frameset. n mare, documentele de tipul "strict"
exclud din prezentarea lor atributele i elementele cu suport pentru formatarea paginii (CSS),
cele de tip "transitional" includ i aceste atribute, iar cele de tip "frameset" sunt n general
construite din mai multe buci (frame).
Urmtoarea linie conine un tag care anun browserul c ncepe un document n
format HTML.
Linia urmtoare specific partea de sus a documentului, antetul (header). n aceast
parte sunt incluse diferite informaii cum ar fi titlul paginii sau diferite taguri care spun
bowserului anumite informaii despre pagina curent. Aceste taguri sunt cunoscute sub
numele de meta-taguri i au o importan mai mare dect tagurile normale. n cazul
exemplului de mai sus este specificat un meta-tag care spune browserului ce tip de caractere
sunt folosite n pagina curent (este util n cazul n care scriei pagini n mai multe limbi,
browserele i motoarele de cutare vor ti s afieze caracterele din acele pagini).
Urmtoarea linie din cadrul antetului este linia care conine titlul paginii curente. Este
de preferat ca fiecare pagin de web s aib un titlu ct mai sugestiv (util n cadrul motoarelor
de cutare, dar i dac vrei sa tiprii pagina la imprimant)
Tagul urmtor este un tag de nchidere, i anume se specific browserului c acolo se
termina partea de antet a documentului.
Dup antet, urmeaz coninutul efectiv al documentului, care este specificat prin tagul
de deschidere <body>. ntre acest tag i pn cnd browserul ntlnete tagul de nchidere
</body> se poate pune coninutul efectiv al paginii, i anume text, taguri de formatare a
textului, elemente de aranjare n pagin precum i hipertext
Ultima linie din document trebuie s fie ntotdeauna tagul de nchidere al
documentului HTML i anume tagul </html>

Un document HTML se poate scrie n orice tip de editor de texte care tie s salveze
textul neformatat (gen Notepad, dar nu i Word care preformateaz textul). Documentele
HTML de obicei au extensia .htm sau .html, dar pot fi i alte extensii cum ar fi .dhtml sau
.xml sau .php. Dup crearea unei pagini, pentru a verifica dac este compatibil cu standardul,
se poate verifica la adresa http://validator.w3.org/ unde gsii un validator automat care
verific structura i corectitudinea sintaxei paginii.

2. Introducere n CSS
CSS este un acronim provenind din Cascading Style Sheets, care nseamn "foi de stil
n cascad". n documentele W3C, CSS nu e definit ca un nou limbaj, ci ca un mecanism care
permite formatarea documentului HTML. CSS-ul nu exclude HTML-ul din pagina web. Nu
se poate realiza o pagin web folosind numai CSS, care a fost proiectat astfel nct s
conlucreze cu HTML-ul. Tagurile HTML au fost iniial destinate pentru a defini coninutul
unui document. Modul de aranjare al documentului era sarcina browser-ului, fr a fi folosite
taguri de structur.
Pe masur ce Netscape i IE continuau s adauge noi taguri HTML i atribute (ca tagul
<font> i atributul color) sintaxei HTML originale, devenea din ce n ce mai greu s creezi
site-uri web n care coninutul documentelor HTML s fie separat clar de aranjamentul
documentului. Stilurile definesc cum s fie afiate elementele HTML 4.0, aa cum face tagul
font sau atributul color n HTML 3.2. Stilurile sunt salvate n mod normal n fiiere diferite de
cele cu extensia html. Foile de stil externe v permit s schimbai apariia i aranjarea tuturor
paginilor n site-ul dumneavoastr web, doar prin editarea unui singur document CSS. Dac
ai ncercat vreodat s schimbai fontul sau culoarea tuturor anteturilor din paginile web pe
care le-ai creat, vei ntelege cum CSS v poate scuti de mult munc inutil. Proiectanii
CSS-ului au urmrit ndeosebi separarea ntre coninutul paginii (textul destinat vizitatorului
i imaginile din pagin) i codul-surs. Folosind CSS, se ajunge la un control mai fin asupra
paginii web, la scderea dimensiunii n octei a paginii web, atunci cnd codul CSS e coninut
ntr-un fiier extern. Modificnd fiierul CSS extern, modificm simultan toate paginile web
n care acesta e inclus. Se pot crea efecte mai sofisticate dect cele produse de codul HTML:
suprapunerea unei imagini peste alt imagine, a unui text peste alt text, impresia de relief,
efectul hover, afiarea unor fonturi mai mari dect h1 .a.m.d.
CSS este foarte util n Web design, deoarece le permite developerilor s controleze
stilul i chenarul mai multor pagini web n acelai timp. Ca web developer putei defini un stil
pentru fiecare element HTML i s-l aplicai ctor pagini web dorii. Pentru a face o
4

schimbare global, schimbai stilul i toate elementele din paginile web vor fi modificate
automat.
Dezavantajul lucrri cu CSS este c pagina coninnd cod CSS poate arta diferit n
navigatoare diferite, deoarece nu toate browserele interpreteaz codul CSS la fel.
Foile de stil dau posibilitatea specificrii informaiei despre stil n mai multe feluri.
Stilurile se pot specifica ntr-un singur element HTML, n interiorul elementului <head> al
unei pagini HTML sau ntr-un fiier extern CSS. Dintr-un singur document HTML se pot face
referiri ctre mai multe foi de stil externe. Deci, un stil din interiorul unui element HTML are
cea mai mare prioritate, ceea ce nseamn c va suprascrie fiecare stil declarat n tagul
<head>, ntr-o foaie de stil extern i n browser.
Fiierul extern poate fi scris n Notepad i salvat cu extensia css. Includerea sa n
pagina web se face folosind tag-ul <link>, care trebuie s se afle ntre <head> i </head> (n
antetul paginii).
Observaie: ntr-un fiier html, pot fi incluse astfel oricte alte fiiere cu extensia css,
htm, html sau pdf. Aceast metod de includere a CSS-ului n pagina web e mai avantajoas
ca primele dou. Codul CSS introdus astfel conlucreaz cu cel scris direct n pagin.
Sintaxa CSS este alctuit din trei pri: un selector, o caracteristic i o valoare.
Selectorul este elementul/tagul pe care vrei s-l definii, caracteristica este atributul pe care
dorii s-l schimbai i fiecare caracteristic poate lua o valoare. Caracteristica i valoarea sunt
separate de semnul : i sunt ncadrate de acolade:
Cod:
body {color: black}
Dac dorii s specificai mai mult de o caracteristic, trebuie s separai fiecare
caracteristic cu semnul ;. Exemplul de mai jos arat cum s definii un paragraf aliniat
central, cu culoarea roie a textului:
Cod:
p {text-align: center; color: red}
3. specte fundmentle le limbjului JavaScript
) JavaScript pote fi ncorport n HTML
De obicei, codul JavaScript este gzduit n documente HTML i executt din interiorul
lor. Cele mi multe obiecte JavaScript u etichete HTML pe cre le reprezint, stfel nct
progrmul este inclus l nivelul esenil, pe prte de client, l limbjului. Pentru fi un
progrmtor JavaScript eficient, trebuie s cunotem i crcteristicile HTML.
JavaScript folosete HTML c modlitte de sri n cdrul de lucru l pliciilor pentru
Web i-i extinde cpcitile normle, sigurnd evenimente pentru etichetele HTML i
permind cestui cod condus de evenimente s se execute din interiorul su.
5

b) JavaScript este dependent de mediu


JavaScript este un limbj de scriptre, nu un instrument n sine i pentru sine. Softwre-ul
cre rulez de fpt JavaScript este motorul de interpretre din mediu - Netscpe Nvigtor,
Microsoft Internet Explorer su unul din motorele pe prte de server. Cnd este inclus ntr-un
document HTML, JavaScript depinde de browser pentru fi recunoscut. Dc browserul nu-l
recunote, progrmul v fi ignort, b chir mi ru - dc nu inem sem de browserele
necceptte - progrmul JavaScript n sine pote fi fit c text pe pgin HTML.
c) JavaScript este un limbj interprett
C mjoritte limbjelor de scriptre, JavaScript este interprett de browser ninte de
fi executt. JavaScript nu este compilt n binr - c un fiier EXE -, ci rmne prte
documentului HTML l cre este tt. Dezvntjul unui limbj interprett este c
executre progrmului durez mi mult, deorece browserul compilez instruciunile n
timpul rulrii, chir ninte s le execute. vntjul const n fptul c este mult mi uor de
ctulizt codul surs.
d) JavaScript este un limbj flexibil n privin tipului de dte
JavaScript difer mult de limbjele stricte n privin tipului de dte, c Java su C++, n
cre trebuiesc declrte tote vribilele de un numit tip ninte de le utiliz. Spre
deosebire de ele, JavaScript este mult mi flexibil. Putem declr vribilele de un numit tip,
dr nu suntem obligi s fcem cest declrre; putem lucr cu o vribil, dei nu-i
cunotem tipul specific ninte de rulre.
Exemplu n cre declrm o vribil numit myVl, i tribuim o vlore de tip ir i poi
o fim ntr-o cset de mesje:
function flexible()
{
vr myVl;
myVl = "Hello World!";
lert(myVl);
}
n exemplul urmtor nu vom mi declr vribil myVl ninte de folosire, lucru perfect
vlid n JavaScript, dr incceptbil ntr-un limbj strict n privin tipului de dte:
function flexible()
{
myVl = "Hello World!";
lert(myVl);
}
Pentru ilustr mi bine flexibilitte limbjului JavaScript, vom modific i tipul vlorii
pe cre o reprezint vribil.
function flexible()
{
vr myVl = "Hello World!";
lert(myVl);
myVl = 123;
lert(myVl);
}
e) JavaScript este un limbj bzt pe obiecte
JavaScript este un limbj bzt pe obiecte. Cu lte cuvinte vom lucr cu obiecte
predefinite cre ncpsulez dte (proprieti) i comportmente (metode), dr nu le vom
pute subcls.

f) JavaScript este condus de evenimente


Mre prte din codul JavaScript v rspunde l evenimente generte de utiliztor su
sistem. n sine, limbjul JavaScript este echipt pentru trt evenimente. Obiectele HTML
sunt mbuntite pentru ccept hndlere de evenimente.
g) JavaScript nu este Java
Cele dou limbje u fost crete de compnii diferite, ir motivul principl pentru
similitudine denumirilor este legt exclusiv de mrketing. Ctev diferene dintre cele dou
limbje r fi:
JavaScript este strns integrt n HTML, pe cnd o miniplicie Java este legt l un
document HTML prin etichet <pplet>.
Java este un limbj mi robust i mi complet, fiind strict n privin tipului de dte,
relmente orientt spre obiecte i deinnd un compiltor.
Java este folosit pentru miniplicii su pentru plicii complete, pe cnd JavaScript
este folosit n primul rnd pentru scripturi.
h) JavaScript este multifuncionl
Principlele sle scopuri sunt:
nfrumuseez i nim pginile HTML sttice prin efecte specile i nimie
Vlidez dte fr trece totul serverului
Dezvolt plicii pe prte de client
i) JavaScript coper diferite contexte
Progrmre n JavaScript se ndrept mi les spre scriptre pe prte de client, dr se
pote folosi i pe prte de server n Netscpe Enterprise Server i n cdrul de lucru ctive
Server Pges de l Microsoft. n plus, versiunile recente de Microsoft Windows ccept
JavaScript n mediul Windows Script Host (WSH).

nglobre instruciunilor JavaScript n HTML


Scripturile JavaScript sunt integrte ntr-un document HTML folosind pereche de etichete
<script> i </script>. ntr-un document HTML pot existmi multe perechi de etichete <script>
i fiecre pereche pote ncdr mi multe seturi de instruciuni JavaScript.
tributele etichetei <script> sunt urmtorele:
tribut
Descriere
defer
tribut boolen folosit pentru nun browserul dc scriptul din cest
seciune generez un coninut.
lnguge
tribut deprecit, cre er utilizt pentru specific limbjul i versiune
folosite ntre etichete
Ex: lnguge="JavaScript1.1"
src
tribut cre specific loci URL unui fiier JavaScript surs extern.
Ex: src="myscript.js"
type
tribut cre nlocuit tributul lnguge i cre nun browserul ce limbj
se folosete ntre etichete.
Ex: type="text/Javascript"
Nu trebuie uitt c multe browsere mi vechi nu sunt cpbile s folosesc pe deplin codul
JavaScript pe cre l-i scris. ncdrnd cu etichete de comentrii HTML tote instruciunile
flte ntre etichetele <script> i </script> permitem utiliztorilor cu browsere mi vechi s vd
pgin, fr fire codului JavaScript. Ei nu vor benefici de efectul complet l pginii, dr
nici nu vor vede text nedorit n browser.
Formtul pentru folosire cestor comentrii este:
<script type="text/Javascript>
<!-- scund codul pentru browserele mi vechi
cod JavaScript
//-->
</script>
Instruciunile JavaScript pot fi implementte folosind diverse metodologii. Modlitte ce
mi bun de profit de limbjul JavaScript este definire funciilor JavaScript n seciune
<hed>, urmt de pelre cestor funcii din seciune <body>. cest metod sigur
evlure (i, dc este necesr, executre) tuturor instruciunilor ninte c utiliztorul s
intercioneze cu documentul.
Riscurile plsrii instruciunilor scriptului n seciune <body> documentului sunt mi
multe. n funcie de etichete i de ordine documentului, nu putem ti niciodt dc utiliztorul
v intercion cu scriptul n mnier corect su v recion f de pgin ninte c scriptul
s fi fost complet ncrct su executt.
Exemplu:
<html>
<hed>
<title>Pgin cu buton</title>
<script type="text/Javascript">
<!-function pushbutton()
{
lert("M-i pst!");
}
//-->
</script>
</hed>
<body>
<form>

<input type="submit" onclick="pushbutton()">


</form>
</body>
</html>
Procesul de progrmre n JavaScript
Editor HTML
Creeaz pagina HTML

Editor JavaScript
Adaug codul JavaScript

Elementele fundmentle le limbjului


JavaScript
1. Evenimente

Browser Web
ncarc pagina HTML

Un
din crcteristicile-cheie le limbjului JavaScript
este
cpcitte s de intercept un numr limitt de
ciuni le utiliztorului, cunoscute mjoritii progrmtorilor c evenimente. Unele elemente
HTML recionez dej l evenimente cum r fi executre unui clic pe elementul fmilir de
legtur cre duce l lt document HTML.
Cnd trecem cursorul mouse-ului peste textul su imgine cre constituie legtur, cursorul
se modific dintr-o sget ntr-o mn micu. Unele browsere recionez i prin fire n
br de stre dresei URL de destinie. JavaScript l numete eveniment MouseOver i
recionez ori de cte ori trecem cursorul mouse-ului peste element. Dc executm clic pe
oricre prte legturii, browserul rspunde trimindu-ne l o locie diferit de pe Web su
deschiznd un nou fiier. ciune este denumit eveniment Click i este declnt ori de cte
ori se execut clic pe legtur. HTML interceptez ceste evenimente i browserul recionez
ntotdeun n celi mod.
2. Tokenuri
Tokenurile sunt cele mi mici cuvinte, expresii su crctere individule pe cre le pote
nelege JavaScript. Cnd JavaScript este interprett, browserul nlizez scriptul, identificnd
tokenurile i ignornd comentriile i spiile lbe.
Tokenurile JavaScript se clsific n ptru ctegorii: identifictori, cuvinte-cheie, elemente
literle i opertori. Sintx unui limbj este setul de reguli i restricii privind modlitte n
cre se pot combin tokenurile.
) Identifictori
Identifictorii sunt pur i simplu nume cre reprezint vribile, metode su obiecte. Ei
constu dintr-o combinie de crctere literle i cifre. Unele nume sunt dej ncorporte n
limbjul JavaScript i, c urmre, sunt rezervte.
Pe lng ceste cuvinte-cheie putem definii proprii notrii identifictori semnifictivi.
Desigur, trebuie respectte ctev reguli:
toi identifictorii trebuie s ncep cu o liter su cu o liniu de subliniere ( _ );
putem folosi litere, cifre su liniue de subliniere pentru tote crceterele cre
urmez;
literele sunt tote crcterele mjuscule de l "" l "Z" i tote crcterele minuscule
de l "" l "z";
irul de crctere cre lctuiete un identifictor nu trebuie s includ spii;
2

cifrele sunt de l 0 l 9.

b) Cuvinte-cheie i cuvinte rezervte


Cuvintele-cheie sunt identifictori predefinii cre lctuiesc nucleul unui limbj de
progrmre. n JavaScript, ele execut funcii unice, cum r fi declrre de noi vribile i
funcii, lure deciziilor bzte pe stre ctul clcultorului su pornire unui ciclu repetitiv
n interiorul pliciei.
Cuvintele-cheie sunt ncorporte n JavaScript i sunt ntotdeun disponibile pentru
utilizre de ctre progrmtor, dr trebuie s respecte sintx corect.
Cuvintele-rezervte sunt identifictori cre nu pot fi folosii c nume pentru vribile, funcii,
obiecte su metode JavaScript. Ele includ cuvinte-cheie i identifictori cre sunt pstri pentru
o posibil utilizre viitore. Exemple de cuvinte-rezervte: boolen, chr, double, if, privte, for,
while etc.
c) Elemente literle
Elementele literle sunt numere su iruri folosite pentru reprezent vlori fixe n
JavaScript. Ele sunt vlori cre nu se modific n timp ce se execut scripturile.
Numr ntreg
Numerele ntregi pot fi exprimte n formt zeciml (bz 10), octl (bz 8) su
hexzeciml (bz 16). Un element literl de tip numr ntreg n formt zeciml pote include
orice ir de cifre cre nu ncepe cu 0 (zero). Un zero n f unui element literl de tip numr
ntreg desemnez formtul octl. Numerele ntregi n formt octl pot include cifrele de l 0 l
7. Pentru desemn formtul hexzeciml, n f numrului ntreg se folosete 0x su 0X.
Numerele ntregi hexzecimle pot cuprinde cifrele de l 0 l 9 i literele de l "" l "f", su de
l "" l "F".
Virgul mobil
Elementele literle de tip virgul mobil reprezint numere zecimle frcionre. Ele pot fi
exprimte stndrd su exponenil. Reprezentre exponenil folosete "e" su "E" pentru
desemn exponentul. tt numrul zeciml ct i exponentul pot fi pozitive su negtive.
Vlori booleene
JavaScript implementez tipuri de dte booleene i, c urmre, ccept cele dou elemente
literle true i flse, cre reprezint vlorile booleene 1 i, respectiv, 0. Cuvintele-cheie true i
flse trebuie s pr cu litere mici.
ir
Un element literl de tip ir este formt din zero su mi multe crctere ncdrte ntre
ghilimele (" ") su ntre postrofuri (' '). JavaScript ofer ces opiune, dr pentru ncdr un
ir trebuie s folosim celi tip de semne.
Crctere specile
Uneori pre necesitte de -i spune clcultorului s folosesc un crcter specil su o
psre de tst, cum este tst Tb, su o linie nou. Pentru cest, folosii un crcter
bckslsh (\) n f unui din codurile Escpe, c n list urmtore:
\b indic o psre tstei Bckspce
\f indic o pgin nou
\n indic o linie nou
\r indic un retur de cr
\t indic o psre tstei Tb
\\ indic un crcter bckslsh
\' indic un postrof
\" indic ghilimele
d) Opertori
Opertorii sunt simboluri su identifictori cre reprezint o modlitte n cre pote fi
evlut su mnipult o combinie de expresii. Opertorul cel mi obinuit este cel de
3

tribuire. n exemplul x=10, tt 10 n sine, ct i vribil x sunt expresii. Cnd JavaScript


ntlnete un opertor de tribuire ntre dou expresii, cionez conform regulilor opertorului.
n czul meniont, i vlore expresiei din prte drept i o tribuie vribilei din prte
stng.
3. Vribile
O vribil este numele tribuit unei locii din memori clcultorului unde sunt stocte
dtele. Numele unei vribile JavaScript este lctuit din un su mi multe litere, cifre su
liniue de subliniere. Numele nu pote s ncep cu o cifr (ntre 0 i9). Literele includ tote
crcterele mjuscule, de l "" l "Z", i tote crcterele minuscule, de l "" l "z". JavaScript
difereniz mjusculele de minuscule. Dei lungime numelui unei vribile JavaScript este
limitt dor de memori clcultorului, este preferbil pstrre ei n limite prctice: 1-20
crctere su 2-3 cuvinte.
Formulre declriilor
Pentru nun JavaScript c vom folosi un identifictor c vribil, trebuie mi nti s
declrm vribil. Pentru declrre vribilelor n JavaScript se folosete cuvntul-cheie vr
urmt de numele vribilei. cest ciune rezerv numele c vribil ce v fi folosit drept
loc de stocre pentru orice dte dorii s inei n e. n urmtorele exemple se observ c se pot
declr mi multe vribile simultn, folosind virgule ntre numele lor:
vr ;
vr i, j, k;
vr mesj;
Dup ce o vribil este declrt, e pote primi prim ei vlore. cest iniilizre se
efectuez cu opertorul de tribuire =. O vribil se pote iniiliz n celi moment n cre
este declrt su oricnd dup cee.
JavaScript ofer i o lt modlitte de declr o vribil - iniilizre ei fr utiliz
cuvntul cheie vr. Dc se tribuie o vlore unei vribile noi ninte c cest vribil s fie
declrt cu vr, tunci JavaScript o v declr utomt.
Tipurile de dte recunoscute de JavaScript sunt urmtorele:
Tip
Exemplu
number
-19, 3, 3.14159
boolen
true, flse
string
"Slutre tuturor!", ""
function
unescpe, write
object
window, document, null
O vribil de tip number conine fie un numr ntreg, fie un numr rel. O vribil de tip
boolen conine fie true, fie flse. Vribilele de tip string pot conine orice elemente literle de
tip ir cre le-u fost tribuite, inclusiv iruri gole. Vribilele de tip function sunt fie definite
de utiliztor, fie ncorporte. Funciile cre prin obiectelor, numite metode n JavaScript, sunt
clsificte tot n tipul de dte function. Obiectele JavaScript esenile pe prte de client, c
window su document, prin desigur tipului de dte object. Vribilele object, su mi simplu
obiecte, pot stoc lte obiecte. Despre o vribil cre conine vlore null se spune c prine
tipului de dte object, pentru c JavaScript clsific vlore null c fiind obiect. Iniilizre
unei vribile cu null constituie o modlitte excelent de prevenire erorilor, dc nu este sigur
c vribil v fi utilizt.
Limbjele de progrmre cer de obicei definire tipului de dte pe cre-l v reprezent o
vribil nou i se tept c orice vlore tribuit respectivei vribile s fie de tipul de dte
definit, prnd erore tunci cnd se ncer s se tribuie vribilei un lt tip de dte. cest
lucru nu se ntmpl n JavaScript, cre este un limbj flexibil n privin tipului de dte.
JavaScript nu cere s se definesc tipul de dte i nici nu mpiedic tribuire unor diferite
tipuri de dte celeii vribile.
Domeniul de vlbilitte
4

Domeniul de vlbilitte este formt din zon su zonele dintr-un progrm cre pot referi o
vribil.
) Vribile locle
O vribil delcrt n interiorul unei funcii re domeniu de vlbilitte locl. Numi
funci respectiv re cces l vlore coninut n vribil. Vribil este cret de fiecre
dt cnd funci este pelt. Similr, vribil este distrus de fiecre dt cnd funci se
ncheie. O lt funcie cre declr o vribil cu celi nume este considert de JavaScript c
fiind o vribil diferit. Fiecre dintre ele se dresez propriului su bloc de memorie.
b) Vribile globle
Dc se dorete c mi multe funcii s prtjeze o vribil, cest trebuie declrt n
fr oricror funcii, dr, desigur, ntre etichete <script>. este recomndbil c vribilele
globle s fie declrte n seciune <hed> pginii HTML, pentru v sigur c ele sunt
ncrcte ninte de orice lt prte pliciei.
4. Constnte
O constnt este o vribil cre pstrez ceei vlore pe tot durt executrii unui
progrm. JavaScript folosete constnte ncorporte pentru reprezent vlori folosite de
operiile mtemtice uzule, cum este pi. Ele pot fi cceste prin intermediul obiectului
mth.
Constntele definite de utiliztor sunt vribile pe cre le definete progrmtorul i le cror
vlori nu se pot modifc. De obicei, constntele sunt reprezentte prin cuvinte cre ncep cu
liter mre i sunt definite l nceputul progrmului.
Javascript nu recunote constntele n modul trdiionl. De obicei, un limbj de progrmre
cre recunote constnte definite de utiliztor se sigur c nici o lt prte pliciei nu pote
modific vlore unei constnte dup ce cest fost definit. Tenttiv de modificre
determin o erore. JavaScript nu v efectu ns cest verificre. Chir dc nu exist nici o
modlitte prin cre s determinm JavaScript s se sigure c o vribil nu este modifict,
putem s folosim vribile cre s ib vlori ce sunt folosite n mod repett ntr-un script.
nlocuind instnele multiple le unei vlori obinuite cu o vribil, se v uur ctulizre
ulterior scriptului. Tot ce v fi de fcut este s modificm iniilizre vribilei i ntregul
script este ctulizt.
5. Comentrii
Cele dou soluii de cre dispunem pentru pls comentrii n codul JavaScript sunt
metodele folosite i n limbjele C/C++. Pentru comentrii cre u dor o linie de text se folosesc
2 crctere slsh consecutive //. Pentru blocuri de comentrii mi mri se folosesc crcterele /*
i */.
6. Funcii
Funci este un script cre pote fi pelt oricnd folosindu-i numele. stfel cpcitile
limbjului JavaScript sporesc n dou modliti. n primul rnd reprezint o modlitte
excelent de stbili rulre unui script l un moment ulterior. lt vntj l reprezint
cpcitte de refolosire scripturilor fr scrie n mod repett celi linii de cod. Se
recomnd declrre funciilor n blocul <hed> l documentului HTML, stfel funci v fi
ncrct ncinte de fi executt de corpul documentului.
Opertori
Opertorii sunt simbolurile i identifictorii cre reprezint fie felul n cre sunt modificte
dtele, fie felul n cre este evlut o combinie de expresii. JavaScript recunote tt
opertorii unri, ct i opertorii binri. Opertorii binri necesit prezen doi opernzi n
expresie, n vreme ce opertorii unri u nevoie de un singur opernd.
5

1.

Opertori de tribuire

Funci fundmentl opertorului de tribuire este ce de tribui o vlore unei


vribile, plsnd vlore n memorie. Cnd JavaScript ntlnete opertorul de tribuire (=),
privete mi nti n drept cutnd o vlore. Dup cee privete n stng i se sigur c
exist un loc unde s stocheze numrul. Dc gsete o vribil, i tribuie vlore respectiv.
ntotdeun JavaScript cionez de l drept spre stng, stfel nct expresi 20 = x cuzez
o erore, deorece 20 nu este o vribil ci un numr ntreg crui vlore nu pote fi
modifict.
JavaScript recunote li 11 opertori de tribuire, cre sunt de fpt combinii ntre un
opertor de tribuire i un opertor ritmetic su un opertor l nivel de bii.
x += y este versiune prescurtt pentru x = x + y
x = y este versiune prescurtt pentru x = x y
x *= y este versiune prescurtt pentru x = x * y
x /= y este versiune prescurtt pentru x = x / y
x %= y este versiune prescurtt pentru x = x % y
x <<= y este versiune prescurtt pentru x = x << y
x >>= y este versiune prescurtt pentru x = x >> y
x >>>= y este versiune prescurtt pentru x = x >>> y
x &= y este versiune prescurtt pentru x = x & y
x |= y este versiune prescurtt pentru x = x | y
x ^= y este versiune prescurtt pentru x = x ^ y
2.

Opertori ritmetici

Opertorii principli i grupului sunt semnul plus (+) cre dun dou vlori, semnul () cre
scde o vlore din lt vlore, steriscul (*) cre nmulete dou vlori i semnul slh (/) cre
mprte o vlore l lt vlore.
O operie obinuit este incrementre vlorii unei vribile. Incrementre se folosete tt
de frecvent n progrmele pe clcultor nct unele limbje ncorporez opertori specili pentru
incrementre i decrementre vlorilor vribilelelor. Un semene limbj este JavaScript,
cre folosete ++ pentru incrementre i pentru decrementre unei vlori cu 1. ceti
opertori pot fi folosii tt c prefixe ct i c sufixe, putnd stfel modific ordine n cre o
vlore este ntors de expresie i momentul cnd este tribuit nou vlore.
Opertorul modulo este simbolizt prin semnul procent (%) i este restul rms dup
mprire primului opernd l l doile.
3. Opertori de comprie
Opertorii de comprie sunt folosii exct pentru ce rt numele lor - pentru comprie.
Expresiile ce folosesc opertorii de comprie pun de fpt o ntrebre despre dou vlori.
Rspunsul pote s fie su true, su flse.
Dou semne egl (==) simbolizez opertorul de eglitte., folosit pentru verific dc
vlorile celor doi opernzi sunt egle. Trebuie o forte mre tenie l folosire opertorului
corect. Opertorul de eglitte (==) testez dou vlori pentru vede dc sunt egle, n timp
ce opertorul de tribuire (=) stbilete o nou vlore pentru o vribil. Dc se greete i se
folosete opertorul eront, interpretorul JavaScript nun cest lucru.
Opertori de comprie:
Opertor
Descriere
==
Opertor de eglitte. ntorce vlore true dc cei doi opernzi sunt
egli.
!=
Opertor de ne-eglitte- ntorce vlore true dc opernzii si nu
sunt egli.

>
>=

<
<=

4.

Opertor "mi-mre-dect". ntorce vlore true dc operndul su


stng re vlore mi mre dect operndul drept.
Opertor "mi-mre-su-egl-cu". ntorce vlore true dc
operndul su stng re vlore mi mre su cel puin egl cu
operndului drept.
Opertor "mi-mic-dect". ntorce vlore true dc operndul su
stng re vlore mi mic dect operndul drept.
Opertor "mi-mic-su-egl-cu". ntorce vlore true dc
operndul su stng re vlore mi mic su cel mult egl cu
operndului drept.
Opertori pentru iruri

Opertorii pentru iruri disponibili n JavaScript cuprind toi opertorii de comprie i


opertorul de conctenre (+). Folosind opertorul de conctenre se pot uni mi multe iruri
pentru obine un ir mi lung.
JavaScript difereniz scriere cu mjuscule tunci cnd se compr iruri i ntorce
vlore true numi cnd compr drese cu celi tip de litere (mjuscule su minuscule).
JavaScript pornete de l stng l drept, comprnd codurile SCII le fiecrui crcter din
mbele iruri. Dc tote crcterele coincid, irurile sunt egle.
5. Opertori condiionli
JavaScript folosete doi opertori, ? i :, pentru form expresii condiionle. Opertorii
condiionli JavaScript execut cei operie c i o instruciune if imedit. Expresiile
condiionle ntorc un din dou vlori, n funcie de vlore logic ltei expresii.
vr result = (nr == 100) ? "Egl" : "Diferit";
lert(result);
Dc vribil nr este egl cu 100, expresi condiionl ntorce irul "Egl", ltfel ntorce
"Diferit".
6. Opertori booleeni
Opertori booleeni (su logici) sunt folosii n conjuncie cu expresiile cre ntorc vlori
logice. De obicei se folosesc n combinie cu opertori de comprie.
Opertori booleeni:
Opertor
Descriere
&&
Opertorul logic ND ntorce true dc tt expresie1, ct i cu
expresie2 sunt true. ltfel, ntorce flse.
||
Opertorul logic OR ntorce true dc fie expresie1, fie expresie2 sunt
true. Dc nici un dintre ele nu este true, ntorce flse.
!
Opertorul logic NOT este unr i ntorce vlore opus unei expresii
booleene. Dc expresie este true, ntorce flse, ir dc expresie este
flse, ntorce true. cest nu v modific permnent vlore expresie,
deorece cionez l fel c opertorul ritmetic de negre.
7. Opertorul typeof
Opertorul typeof ntorce tipul de dte coninut l momentul respectiv de operndul su.
Este util mi cu sem pentru determin dc o vribil fost definit.
typeof unescpe ntorce irul "function"
typeof 33 ntorce irul "number"
typeof null ntorce irul "object".
8. Opertori pentru funcii
7

Primul opertor de pelre este simbolizt printr-o pereche de prnteze rotunde i urmez
ntotdeun dup numele funciei. De exemplu, o funcie v fi declrt folosind urmtore
sintx:
function numefct()
{
instruciuni;
}
Opertorul de pelre este folosit i cnd este pelt funci de ltundev dintr-un script.
tunci v rt stfel:
numefct()
Prntezele rt c, n locul oricrui lt identifictor definit de utiliztor, este folosit o
funcie.
l doile opertor pentru funcii este virgul (,), folosit pentru sepr rgumentele
multiple pe cre le pote ccept o funcie. rgumentele sunt ntot deun ncdrte de opertorul
de pelre. Exemplu:
function numefct(rg1, rg2)
{
instruciuni;
}
9. Opertori pentru structuri de dte
Opertori pentru structuri de dte este denumire folosit pentru doi opertori necesri
tunci cnd lucri cu structuri de dte. Structurile de dte sunt cdre de lucru cre u fost sette
pentru stocre ntr-o modlitte orgnizt unei su mi multor informii esenile. n
JavaScript, obiectele sunt folosite l grupre informiilor pentru servi unui scop mult mi
specific.
Un opertor cre trebuie cunoscut bine n lucrul cu obiecte este punctul (.), numit n limbj
de specilitte opertor pentru membrul unei structuri. El permite referire l un membru
(vribil, funcie su obiect) cre prine obiectului specifict.
Sintx este:
obiect.vribil
obiect.functie()
obiect.ltObiect
Modlitte cest de referire l o informie, numit de obicei notie cu punct, ntorce
vlore vribilei, funciei su obiectului flt cel mi n drept.
Opertorul pentru membru, numit i opertor indice l tbloului, se folosete pentru cces
o dt specific dintr-un tblou. Simbolizt printr-o pereche de prnteze drepte, permite
referire l orice membru l unui tblou.
Sintx este:
tblou[index]
10. Opertori l nivel de bit
L nivelul cel mi de jos, numerele ntregi su rele (c i tote celellte dte) sunt stocte n
memorie sub form de bii. stocre se fce folosind sistemul binr de numerie, n cre orice
numr ntreg pote fi reprezentt folosind simbolurile 0 i 1. n funcie de locul pe cre-l ocup,
un bit stbilit l 1 reprezint o vlore egl cu 2 ridict l putere n, unde n este numrul de
cifre din drept s.
Opertori logici l nivel de bit
L folosire opertorilor logici l nivel de bit, JavaScript mperechez opernzii bit cu bit,
poi execut operi supr fiecrei perechi de bii.
Opertor
Descriere
&
Opertorul l nivel de bit ND ntorce 1 dc mbii opernzi sunt 1.
8

|
^

ltfel ntorce 0.
Opertorul l nivel de bit OR ntorce 1 dc oricre dintre opernzi este
1. ltfel, ntorce 0.
Opertorul l nivel de bit OR exclusiv ntorce 1 dc unul i numi unul
dintre opernzi este 1. ltfel, ntorce 0.

Opertori de deplsre l nivel de bit


Toi opertorii de deplsre l nivel de bit u doi opertori. Operndul din stng este un
numr ntreg i crui bii trebuie deplsi. Operndul din drept este numrul de bii cu cre
trebuie deplst reprezentre binr numrului ntreg.
Opertor
Descriere
<<
Opertorul de deplsre spre stng ntorce vlore unui numr ntreg
dc biii si u fost deplsi cu un numr de locuri spre stng. Toi biii
vcni din drept sunt completi cu zerouri.
>>
Opertorul de deplsre spre drept cre trnsmite semnul ntorce
vlore unui numr ntreg dc biii si u fost deplsi cu un numr de
locuri spre drept. Toi biii vcni sunt completi cu copi bitului cel
mi din stng (numit i bit de semn). Copiere bitului cel mi din stng
sigur c numrul ntreg v rmne fie pozitiv, fie negtiv.
>>>
Opertorul de deplsre spre drept i completre cu zerouri ntorce
vlore unui numr ntreg dc biii si u fost deplsi cu un numr de
locuri spre drept. Toi biii vcni de nivel mi mre sunt complette cu
zerouri.
11. Preceden opertorilor
n czul expresilor cre folosesc mi mult de un opertor, JavaScript nu evluez neprt o
expresie de l drept l stng su invers. Fiecre prte unei expresii este evlut ntr-o
ordine bzt pe o preceden predefinit pentru fiecre opertor.
Prntezele sunt opertori cre ridic nivelul precedenei expresiei pe cre o ncdrez.
Cnd o expresie re mi muli opertori de celi tip, JavaScript evluez de l stng l
drept.
Preceden opertorilor:
Nume opertor
Opertor
Virgul
,
De tribuire
= += -= *= /= %= <<= >>= >>>= &= ^= |=
Condiionl
?:
Logic OR
||
Logic ND
&&
OR l nivel de bit
|
XOR l nivel de bit
^
ND l nivel de bit
&
De eglitte
== !=
De comprie
< <= > >=
De deplsre l nivel de bit
<< >> >>>
De dunre/scdere
+De nmulire/mprire
*/%
De negre/incrementre
! ~ ++ -De pelre, pentru structuri de () [] .
dte
Unul dintre efectele pe cre le pote ve preceden opertorilor este determinre tipului de
vlore ntors de o expresie.
9

Cnd expresiile u opertori de ceei preceden, JavaScript evluez de l stng l


drept. Opertorul de dunre re ceei preceden c i opertorul de conctenre; prin
urmre, JavaScript v evlu tote dunrile i conctenrile de l stng l drept n tot
instruciune.
Structuri de control i cicluri
Instruciuni condiionle

if
Instruciune if este un dintre cele mi folosite instruciuni. Fiecre limbj de progrmre o
deine ntr-o form su lt i utilizre ei nu pote fi evitt. Instruciune if se folosete stfel:
if (conditie) {
[instructiuni]
}
conditie pote fi orice expresie logic. Dc rezulttul lui conditie este true, sunt executte
instructiuni i executre progrmului continu. Dc ns conditie ntorce flse, JavaScript
ignor instructiuni i continu.
Indentre instruciunilor cuprinse ntre colde este o prctic frecvent. cest confer
scripturilor un spect logic i se dovedete util mi les cnd imbrici instruciuni if (tunci
cnd se folosete o instruciune if n interiorul ltei instruciuni if).
if..else
Uneori, simpl folosire instruciunii if nu este suficient i putei rezerv un set de
instruciuni cre s fie executte dc expresi condiionl ntorce flse. cest lucru se
relizez prin dugre unui bloc de instruciuni else imedit dup blocul if:
if (conditie) {
instructiuni
} else {
instructiuni
}
Dc nu se dorete intrre direct ntr-un bloc prestbilit, combini poriune else cu lt
instruciune if. Folosind cest metod, se pot evlu ctev scenrii cceptbile diferite ninte
de execut operiune corect. Frumusee utilizrii metodei const n fptul c se pote
nchei tot cu un segment else. Formtul pentru cest tip de instruciune este urmtorul:
if (conditie) {
instructiuni
} else if (conditie) {
instructiuni
} else {
instructiuni
}
try..ctch
Instruciune try..ctch este folosit pentru ignor trtre prestbilit erorilor.
Instruciuni itertive

Crere unei iterii n interiorul unui script pote servi multor scopuri.
for
Sintx instruciunii for este urmtore:
for([expr_initilizre]; [expr_conditie]; [expr_ciclu]) {
instructiuni
}
10

Cele trei expresii ncdrte de prnteze sunt opionle, dr dc este omis un dintre ele,
semnul punct i virgul (;) tot este necesr. n felul cest, fiecre expresie este pstrt colo
unde i este locul.
n mod obinuit, expresi de iniilizre este folosit pentru iniiliz i chir pentru
declr o vribil cre v fi folosit drept contor pentru ciclu. Dup cee, expresi condiie
trebuie evlut l true ninte de fiecre execuie instruciunilor ncdrte de colde. n
sfsit, expresi ciclu incrementez su decrementez vribil folosit drept contor pentru
ciclu. Dc expresi condiie ntorce flse l primul ciclu, instruciunile cuprinse ntre colde
nu sunt executte niciodt.C i n czul instruciunilor if, ciclurile for pot fi imbricte. Numrul
imbricrilor nu este limitt.
for..in
Cu instruciune for..in se pote execut cte un set de instruciuni pentru fiecre propriette
dintr-un obiect. Se pote folosi ciclul for..in cu orice obiect JavaScript, indiferent dc re su nu
proprieti. Pentru fiecre propriette se execut cte o iterie, c dc obiectul nu re nici o
propriette nu se desfor nici un ciclu. for..in funcionez i cu obiectele prticulrizte; o
vribil unui obiect prticulrizt JavaScript este considert o propriette i, c urmre, se
execut cte un ciclu pentru fiecre. Sintx este:
for (propriette in obiect) {
instructiuni
}
propriette este un element literl de tip ir genert de JavaScript. Pentru fiecre ciclu, lui
propriette i se tribuie urmtorul nume de propriette coninut n obiect, pn ce sunt folosite
tote.
while
Instruciune while cionez n mre prte c un ciclu for, dr nu include n declri ei
expresi de iniilizre su de incrementre vribilelor. Vribilele trebuie declrte ninte de
le increment su le decrement n blocul instruciuni. Sintx este urmtore:
while (expr_conditie) {
instructiuni
}
do..while
Limbjul ofer o instruciune do..while, cre funcionez exct c o instruciune while, tt
dor c nu verific expresi condiionl dect dup prim iterie. n felul cest se grntez
c scriptul dintre colde v fi executt cel puin o dt. Sintx este urmtore:
do {
instructiuni
} while (expr_conditie);
brek i continue
Un spect cre trebuie remrct este c, tunci cnd se folosete un ciclu, cest continu s
se repete pn ce condii specifict ntorce flse. Uneori ns se dorete ieire din ciclu
ninte de fi juns l cold finl. cest lucru se fce dugnd fie brek, fie continue n
blocul instructiuni l ciclului.
Instruciune brek ntrerupe definitiv ciclul, n vreme ce instruciune continue sre peste
instruciunile rmse din ciclul curent, evluez expresi ciclului (dc cest exist) i ncepe
urmtorul ciclu.
n urmtorul exemplu se pote vede diferen dintre cele dou instruciuni. Scriptul
Instruciuni lbel

Limbjul ofer o modlitte de fi mi specific tunci cnd folosii instruciunile brek su


continue. Instruciune lbel pote fi plst ninte oricrei structuri de control cre pote
imbric lte instruciuni, cee ce permite ieire dintr-o instruciune condiionl su dintr-un
ciclu l o locie specific de progrm.
11

Instruciuni with

Instruciune with este folosit pentru evit s specifici n mod repett referire l obiect,
tunci cnd i ccesi proprietile su metodele. Orice propriette su metod dintr-un bloc
with pe cre JavaScript nu o recunote este socit cu obiectul specifict pentru cel bloc.
Sintx este urmtore:
with (obiect) {
instructiuni
}
obiect specific referire l obiect cre trebuie folosit, dc cest nu exist n blocul
instructiuni. Este forte util tunci cnd folosii funcii mtemtice vnste, disponibile dor
prin intermediul obiectului Mth.
Instruciuni switch

Instruciune switch este folosit pentru compr o vlore cu multe ltele. Se pote crede
c srcin cest pote fi relizt dor prin folosire mi multor instruciuni if, dr
instruciune switch reprezint rspunsul corect. E este mi uor de citit i permite specificre
unui set prestbilit de instruciuni cre s fie executte n czul n cre nu este gsit o potrivire.
Instruciune brek este folosit pentru stop orice executre ulterior codului cre mi
rms n instruciune switch. Dc n- fost folosit nici o instruciune brek, codul rms pentru
fiecre cz (cse) v fi executt.
Funcii
Executre unei su mi multor funcii este obiectivul tuturor progrmelor JavaScript. n
form s ce mi simpl, un script pote s citesc su s prei dte, s efectueze operii supr
unui set de dte su s fieze i s trimit dte n exterior. Se pot efectu combinii le cestor
instrumente fundmentle su dor unul dintre ele, pentru un scop generl.
ndeplinire unor diferite srcini necesit multe linii de cod JavaScript. Pote fi necesr c
unele seciuni le scriptului s fie executte imedit ce o pgin Web este ncrct n browser.
lte pri le scriptului pot fi utile dc sunt mnte pn ce un formulr HTML ccept dte de
l client. Uneori este posibil s vem nevoie de pri le unui script de mi multe ori, pote chir
de un numr nelimitt de ori, i pote deveni necesr repetre intermitent unei seciuni de
cod.
Tote ceste probleme duc l idee divizrii unui script n pri mi mici, cre s urmresc
un el individul, specific. cest el specific pote fi semnlre unei "lovituri nimerite n plin"
n timpul unui joc JavaScript. Vlidre dtelor introduse ntr-un formulr HTML este lt
srcin pe cre v fi nevoie c un script s-o execute de mi multe ori tunci cnd cinev
vizulizez pgin Web.
Este ct se pote de justifict divizre logic unui script n seciuni cre s urmresc
fiecre un singur obiectiv. L momentul potrivit, o numit seciune unui script pote fi pelt
pentru executre. JavaScript ofer cest cpcitte prin intermediul unei structuri numite
funcie.
O funcie JavaScript este pur i simplu un script cre este desprins c o seciune seprt de
cod i crei i se tribuie un nume. Folosind numele respectiv, un lt script pote s peleze dup
cee executre celei seciuni oricnd i de oricte ori re nevoie. Multe limbje de
progrmre, de pild C/C++ i Java, folosesc de semene funcii, n timp ce ltele conin
ceei semntic dr o numesc metode, proceduri su subrutine.
Funciile jut l divizre multelor srcini pentru cre fost conceput un progrm. Cnd
sunt pelte, funciilor li se pot trnsfer vlori, numite rgumente. Dup cee, rgumentele se
pot folosi c vribile n interiorul blocului de instruciuni.
Crere funciilor
Urmtorul frgment de cod rt sintx pentru declrre unei funcii n JavaScript:
12

function nume_functie ([rgument1][...,rgumentN]) {


[instructiuni]
}
Cuvntul cheie function este folosit pentru specific un nume, nume_functie, cre servete
c identifictor pentru setul de instruciuni cuprins ntre colde. ncdrte ntre prnteze drepte
i seprte prin virgule se fl numele rgumentelor, cre conin tote vlorile pe cre le primete
o funcie.
Din punct de vedere tehnic, rgumentele sunt vribile tribuite unor vlori de tip literl,
ltor vribile, su obiectelor cre sunt trnsferte funciei prin intermediul instruciunii de
pelre. Dc nu se specific nici un rgument, trebuie introdus o pereche de prnteze fr
coninut, pentru complet declrre.
Instruciunile sunt executte l fiecre pelre funciei. Pentru o mi bun vizibilitte,
instruciunile din blocul de instruciuni sunt de obicei indentte.
Declrre funciilor
O funcie se pote declr oriunde n interiorul unui bloc <script>. Singur restricie este c
nu se pote declr o funcie n interiorul unei lte funcii su n interiorul unei structuri de
control. Se recomnd c funciile s fie declrte n blocul <hed> l documentului HTML,
deorece blocuri diferite le unui document HTML sunt ncrcte ninte ltor. Declrre
tuturor funciilor ici sigur disponibilitte funciilor, dc un lt script trebuie s le utilizeze
imedit.
pelre funciilor
Cnd documentul HTML este ncrct, funci este ncrct n memorie i nu este executt
pn cnd nu este pelt cu sintx:
nume_functie ([rgument1][...,rgumentN])
n cel moment, execui progrmului sre direct l prim linie funciei. Dup ce se execut
liniile funciei, progrmul revine l locul din cre plecse i i urmez cursul.
rgumente
Construire funciilor pentru ccept rgumente este forte util. Procednd stfel, funci
pote fi folosit, urmrind celi scop generl, n mi multe moduri.
Modificre numrului de rgumente
O funcie este construit stfel nct s ccepte un numit numr de rgumente. dei un bun
obicei l progrmtorilor este s trnsfere celi numr de rgumente cre fost declrt, uneori
este prctic s se permit folosire unui lt numr de rgumente. cest se obinuiete tunci
cnd se pelez o funcie cre folosete celi prmetru de fiecre dt, dr este construit
pentru trt czuri specile.
ntr-o sftel de situie, se pote folosi o vlore prestbilit n interiorul funciei, dc nu
sunt trnsferte rgumente. Se pote folosi funci fr rgumente, su se pote specific o
vlore diferit de ce prestbilit. Dc prmetrul nu primete nici o vlore l pelre v ve
vlore null.
O lt posibilitte este s-i fie trnsferte mi multe rgumente dect u fost specificte l
declrre. Vlorile suplimentre nu sunt pierdute, ci sunt stocte ntr-un tblou numit rguments,
cre este o propriette tuturor funciilor. Tote rgumentele stocte n tblou pot fi extrse n
interiorul blocului de instruciuni.
Folosire vribilelor globle i locle
Se tie c vribilele globle pot fi modificte de oriunde dintr-un document, n timp ce o
vribil locl pote fi modifict numi n interiorul funciei n cre este declrt. Tipul de
vribil cre s fie folosit pote fi decis urmnd liniile directore de mi jos:
dc se intenionez c vlore unei vribile s fie utilizt i, eventul, modifict de
orice prte unui progrm, tt n interiorul ct i n exteriorul funciilor, vribil
trebuie declrt n exteriorul tuturor funciilor. n felul cest, e devine globl i pote
fi modifict de oricre prte progrmului. Locul cel mi bun pentru declrre
13

vribilelor globle este blocul <hed> l documentului HTML, pentru sigur c fost
declrt ninte de fi utilizt. Vribil nu trebuie declrt din nou n interiorul
vreunei funcii.
dc vribil este necesr numi n interiorul unei funcii nume, e trebuie declrt n
interiorul funciei respective. Trebuie vut grij c l declrre vribilei s se
folosesc cuvntul-cheie vr. stfel v pute fi modifict dor din interiorul funciei,
JavaScript considernd c cest vribil este unic i distinct de orice vribile
globle cre pot ve celi nume.

Trnsferul obiectelor prin referin


Cnd un tip de dte simplu, cum r fi ir, numr su boolen, este trnsfert unei funcii, el
este trnsfert prin vlore. cest nsemn c funci utilizez o copie vribilei, nu
vribil originl. Orice modificri duse copiei nu fectez originlul.
Pe de lt prte, tunci cnd un obiect este trnsfert unei funcii, el este trnsfert prin
referin. n cest fel, funciei i se permite s modifice versiune originl obiectului.
Refolosire funciilor
O funcie este excelent pentru seprre unei plicii n componentele ei logice, totui
principlul su tu l constituie refolosire codului.
Spre deosebire de seciunile de cod cuprinde n cicluri pentru fi repette de mi multe ori
succesiv, o funcie pote fi refolosit n orice moment, pur i simplu prin pelre numelui su.
Crere funciilor cre s fie destinte unui scop, dr cre s fie utile n multe situii, necesit
experien i un numit grd de previziune.
Funciile pot fi stocte n fiiere surs JavaScript externe, cee ce permite includere cestor
fiiere n mi multe documente HTML.
Funcii recursive
O funcie JavaScript pote fi recursiv, dic se pote utopel. Rezolvre ecuiilor
fctorile este o modlitte obinuit de demonstrre felului n cre funcionez recursivitte.
Obiecte pe prte de client
n construire pliciilor softwre OO, obiectele constituie entitte logic esenil. n
progrme, obiectele sunt dese reprezentri le obiectelor din lume rel cre exist n spiulproblem.
Un obiect pote fi:
un lucru tngibil su vizibil n spiul-problem - de exemplu, o comnd su un client.
un concept bstrct n minte progrmtorului su cev cre pote fi neles l nivel
rionl. Obiectul Mth din JavaScript constituie un lt exemplu bun de concept pur
logic.
un obiect GUI vizibil, cum r fi ferestre, cdre, butone i cmpuri de introducere
dtelor
Un obiect include vlorile dtelor necesre pentru -i descrie ntur i funciile pe cre le
pote efectu. Se pote consider c obiectul reprezint o entitte cu limite definite. Nucleul
obiectului este constituit din vlorile dtelor sle. Dtele unui obiect i descriu crcteristicile
specile i identitte. n jrgonul OOP, dtele obiectului sunt numite proprieti su tribute.
n generl, un obiect ccept ctev funcii. Funciile unui obiect cre sunt vizibile n exterior
formez comportmentul obiectului. n limbjul orientt spre obiect, funci unui obiect este
denumit frecvent metod. Metod este un frgment din codul surs ce execut o singur srcin,
cre este o crcteristic importnt obiectului. Cu lte cuvinte, metodele unui obiect reprezint
comportmentul su, ctivitte s ce pote fi testt i vizulizt din exterior.
Pe lng crcteristicile specifice i vlorile de identificre, tributul unui obiect pote s
reprezinte i stre obiectului su rolul pe cre cest l pote juc l un moment dt. Stre i
14

rolul sunt crcteristici specile le obiectului, dependente de timp. Stre este un tip de
elemente de dte cre s schimb n timp i, n generl, rt o vlore curent pentru obiect.
ncpsulre

tributele i funciile unui obiect formez o entitte indivizibil. In formiile despre


funcionre intern unui obiect trebuie scunse.
Un obiect se prezint lumii prin metodele sle publice cre formez interf. Opusul
meotdei publice este metod privt. Metodele privte sunt funcii de sisten pentru un obiect.
Ele sunt folosite numi n interiorul obiectului i nu pot fi pelte din exterior. JavaScript nu re
metode privte, stfel c tote funciile declrte ntr-un obiect sunt publice.
Nici chir tributele unui obiect nu r trebui mnipulte n exteriorul obiectului. n ingineri
softwre, cest principiu se numete scundere informiei. scundere informiei ofer
progrmtorului oportunitte de modific ulterior reprezentre dtelor, fr s schimbe
reprezentre obiectului pentru lume exterior.
Clsele

Obiectele cu celei proprieti i celi comportment formez o cls, su un tip de


obiecte. O cls prezint un pln de construcie pentru obiectele coninute n e, dr definete
numrul, numele i structur tributelor i metodelor. n plus, o cls sigur comportmentul
(implementre funciilor). Obiectele noi sunt crete grie plnului de construcie definit iniil.
Fiecre obiect este membru l unei numite clse; se spune c este o instn clsei respective.
De cee, propriette unui obiect este numit vribil instnei clsei.
JavaScript nu este un limbj orientt spre obiecte bzt pe clse, deorece nu exist
instruciuni pentru clse, ns include un concept similr: tipul obiect.Din tipurile de obiecte pe
prte de client fc prte mi nti diferitele obiecte GUI su obiecte esenile c Dte. String i
Mth. Obiectele noi sunt crete cu metod new tipului obiect. cest lucru este vlbil pentru
tote tipurile de obiecte.
JavaScript este un limbj bzt pe instne deorece nu exist o metod constructore de
clse. Bzt pe instne este o sintgm din limbjul orientt spre obiecte, cre nsemn c
limbjul de progrmre re obiecte, dr nu i clse.
n cest context, JavaScript nu este forte bine structurt. Nu re clse, dr re conceptul de
tip obiect. Mi mult, obiectele noi nu sunt construite prin intermediul obiectelor existente, ci
folosind instruciune new. Instruciune function este utilizt n mi multe scopuri n
JavaScript. Crere unui nou tip de obiect nsemn definire unei funcii ce re c nume chir
numele tipului de obiect. Proprietile noului tip de obiect sunt declrte c prmetri i funciei
definitorii, cee ce nsemn c pentru o cls nou exist un singur constructor. Constructorul
este o metod unei clse cre creez un obiect nou din blonul clsei. cest iniilizez
noul obiect cu vlorile dtelor pe cre le- primit n prte de prmetri metodei. Urmtorul
cod rt un blon pentru declrre unui nou tip de obiect n JavaScript:
function ObjectType(instVr1, instVr2, ...) {
this.property1 = instVr1;
this.property2 = instVr2;
...
this.method1 = fct1;
this.method2 = fct2;
...
}
function fct1(prm1, prm2, ...) {
//impementre
}
function fct2(prm1, prm2, ...) {
15

//implementre
}
Obiectul specil this dresez obiectul curent n declrre tipului de obiect. Proprietile i
metodele noului tip de obiect sunt definite prin tribuiri fcute lui this. Proprietile iniile
pentru noul obiect sunt dte c prmetri i funciei cretore; n blon, ele sunt numite
instVr1 i instVr2. n definire tipului de obiect, sunt prezente numi numele metodelor
(method1 i method2). Implementre metodelor c funcii JavaScript (function1 i function2)
v fi prezentt mi trziu.
Este preferbil c declrrile noilor tipuri de obiecte s fie plste n seciune <hed>
documentului HTML, pentru fi citite l nceputul procesului de ncrcre documentului. n
felul cest se sigur cunotere declrrilor clsei tunci cnd este interprett restul
progrmului. De obiecei, n segmentul <body> l documentului HTML sunt plste srcinile de
ciune.
Deorece JavaScript este un limbj bzt pe instne, n timpul rulrii de pote extinde cu
proprieti i metode noi orice obiect existent. n felul cest, o crcteristic nou este dugt
unui singur obiect prticulr i nu sunt fectte celellte obiecte de celi tip.
Obiecte JavaScript

Noti cu punct
n JavaScript, ccesre proprietilor i metodelor unui obiect se fce prin intermediul
notiei cu punct. cest notie, demonstrt n urmtorul exemplu de sintx, ofer o metod
de tip ierrhie pentru ccesre proprietilor i implementre metodelor:
objectNme.propertyNme
objectNme.methodNme(rguments)
Obiectul curent este drest prin intermediul vribilei specile this.
Modelul de obiect JavaScript
Obiectele JavaScript sunt relmente obiecte, n sensul c u proprieti i metode, i pot
rspunde l evenimente. Cu tote ceste, JavaScript nu re celei cpciti OOP rele de
motenire. Spre deosebire de ierrhi de clse, cre este bzt pe motenire, modelul de obiecte
JavaScript este o ierrhie de coninere, cum este rtt n figur de mi jos:

Coninere este principiul conform crui un obiect cconine un lt obiect. ntre obiecte nu
exist o legtur genelogic, deorece unul nu deriv din celllt. Drept urmre, un obiect nu
pote moteni proprietile i metodele ltui obiect, i nici nu se pote subclsific un obiect n
ierrhie.
Coninere n JavaScript
16

Coninere este un termen importnt de neles, nu numi n privin modului n cre un


obiect este reliont cu ltul, ci i n privin modului prctic n cre se fce referire l un obiect.
Pentru fce referire l proprietile su metodele unui obiect se folosete noti cu punct
pentru desemn deintorul. Se pote extinde conceptul, pentru include nu numi proprietile
i metodele unui obiect, ci i eventulele obiecte coninute de respectivul obiect.
Este importnt de tiut cnd trebuie i cnd nu este necesr s se fc referire l obiectl
continer. stfel, obiectul Window este obiectul de nivelul cel mi nlt cu cre se lucrez. Dei
n mjoritte czurilor de pote ignor referire l Window, e este necesr tunci cnd se
lucrez cu ferestre su cdre multiple.
Obiectul Window este singurul cre dovedete indulgen n referirile l obiecte. Dc se
dorete s se refere un formulr dintr-o pgin HTML, trebuie neprt dugt obiectul printe
(Document) pentru c JavaScript s neleg l cre obiect se fce referire.
Proprieti
n JavaScript, proprietile semn cu tributele unui obiect. Proprietile unui obiect
explic identitte i crcteristicile obiectului respectiv. Pe lng crcteristici i vlori de
identificre specifice, tributele obiectului pot reprezent stre obiectului su un rol pe cre
cest l pote juc ntr-un moment nume.
Pe lng noti cu punct, exist i lte modliti de cces proprietile unui obiect.
Exemplul urmtor demonstrez noti tblou:
objectNme["propertyNme"]
Urmtore linie demonstrez indexre prin numerle ordinle:
objectNme[integerIndex]
Tehnic cest ntorce tributul numrului integerIndex.
Metode
O metod desemnez un serviciu pe cre cls l ofer ltor obiecte. n generl metodele se
ncdrez n un dintre urmtorele 4 ctegorii:
modifictore: metod cre modific stre unui obiect. Metod cest modific
vlore unui su mi multor tribute le obiectului.
selectore: metod cre ccesez tributele unui obiect, dr nu ntreprinde nici o
modificre.
itertiv: metod cre ccesez tote prile unui obiect, de pild tote tributele, ntr-o
ordine definit. Metod itertiv execut operii repette supr tributelor unui obiect.
constructore: metod unui tip de obiect cre crez un obiect nou din blonul clsei. O
metod constructore iniilizez noul obiect cu vlorile dtelor primite n prte de
prmetri metodei.
Metodele obiectelor sunt funcii JavaScript normle i se ccesez folosind noti cu
punct:
objectNme.functionNme(rguments)
n cdrul metodelor referire l proprietile obiectului curent se fce folosind obiectul
specil this.
Evenimente
dese, instruciunile JavaScript creez su mnipulez elemente le interfeei grfice cu
utiliztorul, c formulre su ferestre. n contextul unei interfee grfice cu utiliztorul, un
eveniment este rezulttul unei ciuni utiliztorului. El re loc tunci cnd utiliztorul
ntreprinde cev. De exemplu, cnd utiliztorul execut clic pe un buton l interfeei, re loc un
eveniment click. lte evenimente GUI sunt executre unui clic ntr-o cset de vlidre,
selectre unui ir ntr-o cset cu list, executre unui dublu clic pe un element i deschidere
su nchidere unei ferestre.
Modlitte optim de control interfeele grfice cu utiliztorul este prin intermediul
progrmrii conduse de evenimente. n JavaScript, evenimentele pot fi cpturte, dic trtte de
hndlere de evenimente.
17

Clsificre obiectelor

Cele mi multe obiecte sunt fie prte de client, fie pe prte de server, fie esenile.
Funcionlitte pe prte de client ncorport n JavaScript se foclizez supr cee ce se
pote fce cu pginile HTML. n generl, primul set de obiecte re o corelre cu browserul i cu
etichetele HTML din cest.
Mjoritte obiectelor JavaScript sunt reprezentri c obiecte le etichetelor HTML. Tbelul
de mi jos enumer obiectele pe prte de client i etichetele HTML cre le corespund.
Obiect JavaScript
Button
Checkbox
Hidden
Fileuplod
Pssword
Rdio
Reset
Select
Frme
Document
Lyer
Link
Imge
re
nchor
pplet
Plugin
Form
Submit
Text
Textre
Option

Etichet HTML corespondent


<input type="button">
<input type="checkbox">
<input type="hidden">
<input type="file">
<input type="pssword">
<input type="rdio">
<input type="reset">
<select>
<frme>
<body>
<lyer> su <ilyer>
< href="">
<img>
<mp>
< nme="">
<pplet>
<embed>
<form>
<input type="submit">
<input type="text">
<textre>
<option>

Obiectul Window
Un browser Web este prezentt utiliztorului ntr-o ferestr i tot cee ce utiliztorul fce cu
browserul se execut n interiorul ferestrei respective. Mi mult chir, tote elementele ecrnului
sunt de semene coninute n ferestr respectiv.
Obiectul Window este considert obiectul de nivelul cel mi nlt n ierrhi obiectelor
JavaScript pe prte de client. Obiectul Window nu re o etichet HTML corspondent, dr este
cret tunci cnd se deschide o nou ferestr de browser. Proprietile i metodele obiectului
Window sunt urmtorele:
Tip
Element
Descriere
Metod
tob()
Decodific un ir cre fost codifict n bz 64
lert()
fiez o cset de vertizre cu irul de text
trnsfert.
bck()
ncrc pgin nterior
blur()
Dezctivez o ferestr.
btob()
Codific un ir n bz 64 .
cptureEvents()
Stbilete c ferestr s cptureze tote
evenimentele de un tip specifict .
clerIntervl()
terge intervlul stbilit cu metod setIntervl().
clerTimeout
terge puz stbilit cu metod setTimeout().
18

close()
confirm()
crypto.rndom()
crypto.signText()
disbleExternlCptu
re()
enbleExternlCptur
e()
find()

focus()
forwrd()
hndleEvent()
home()
moveBy()
moveTo()
open()
print()
prompt()
releseEvents()
resizeBy()
resizeTo()
routeEvent()
scroll()
scrollBy()
scrollTo()
setHotKeys()
setIntervl()
setResizble()
setTimeout()
setZOptions()
stop()
Propriette closed

nchide instn ferestrei .


fiez o cset de confirmre.
Generez un ir letor de dte, crui lungime
este specifict de numrul de octei trnsferi .
ntorce un ir de dte codificte cre reprezint un
obiect semnt .
Dezctivez cpturre unui eveniment extern .
ctivez cpturre unui eveniment extern pentru
pginile ncrcte din lte servere .
fiez o cset de dilog Find n cre utiliztorul
pote introduce text pentru cutre n pgin
curent .
ctivez instn window specifict .
ncrc urmtore pgin n locul instnei
window .
pelez hndlerul pentru evenimentul trnsfert.
ncrc pgin de bz specifict utiliztorului n
locul instnei window.
Deplsez ferestr cu vlore specifict .
Deplsez ferestr n loci specifict .
Deschide o nou instn unei ferestre.
pelez cset de dilog Print, stfel c
utiliztorul s pot tipri ferestr curent .
fiez o cset de dilog.
Eliberez evenimentele cpturte .
Redimensionez ferestr cu dimensiune
specifict.
Redimensionez ferestr l dimensiune
specifict.
Trnsfer evenimentele de un tip specifict pentru
fi trtte ntiv.
derulez documentul n ferestr pn l o locie
specifict.
Derulez documentul n ferestr cu o vlore
pecifict.
Derulez documentul pe lime i nime, pn l
o locie specifict din ferestr.
Permite comutre ntre ctivre i dezctivre
tstelor de selectre rpid, cnd nu sunt prezente
meniuri.
pelez o funcie su evluez o expresie l
intervle de timp.
Permite specificre dc un utiliztor pote
redimension o ferestr .
pelez o funcie su evluez o expresie dup
un numit numr de secunde.
Permite specificre stivuirii n ordine z unei
ferestre .
Oprete ncrcre de noi elemente n ferestr
curent .
Specific dc instn window fost nchis.
19

crypto
defultSttus
document
frmes
history
innerWidth
length
loction
loctionbr
loctionbr.visible
menubr
menubr.visible
nme
offscreenBuffering

opener
outerHeight
outerWidth
pgeXOffset
pgeYOffset
prent
personlbr
personlbr.visible
screenX
screenY
scrollbrs
scrollbrs.visible
self
sttus
sttus.visible
toolbr
toolbr.visible

Permite ccesul l crcteristicile de criptre din


Nvigtor.
Specific mesjul prestbilit n br de stre
ferestrei.
Menionez tote informiile despre documentul
din ferestr .
Menionez tote informiile despre cdrele din
ferestr .
Menionez dresle URL vizitte de utiliztor .
Conine lime n pixeli zonei fite din
ferestr curent.
Reprezint numrul de cdre din ferestr curent.
Conine dres URL curent ncrct n ferestr.
Fce referire l br de locie browserului.
Vlore boolen cre indic dc br de locie
este vizibil .
Fce referire l br de meniui browserului .
Vlore boolen cre indic dc br de meniuri
de pe browserul utiliztorului este vizibil.
Conine numele ferestrei.
Vlore boolen cre permite s se determine dc
vreo ctulizre ferestrei este executt ntr-un
buffer din fr ecrnului .
Conine numele ferestrei din cre fost deschis o
ferestr secundr.
Conine nlime n pixeli suprfeei din
exteriorul ferestrei curente .
Conine lime n pixeli suprfeei din exteriorul
ferestrei curente .
Conine coordont X ferestrei curente .
Conine coordont Y ferestrei curente .
Fce referire l ferestr de nivelul cel mi nlt
cre fiez cdrul curent.
Menionez informii despre br personl
browserului.
Vlore boolen cre indic dc br personl
de pe browserul utiliztorului este vizibil
Fce referire l coordont X browserului din
mrgine stng ferestrei .
Fce referire l coordont Y browserului din
mrgine de sus ferestrei .
Fce referire l brele de derulre le browserului .
Vlore boolen cre indic dc brele de
derulre de pe browserul utiliztorului sunt vizibile.
Fce referire l ferestr curent.
Fce referire l br de stre browserului .
Vlore boolen cre indic dc br de stre de
pe browserul utiliztorului este vizibil .
Fce referire l br de instrumente browserului .
Vlore boolen cre indic dc br de
instrumente de pe browserul utiliztorului este
vizibil .
20

top
window

Fce referire l ferestr de nivelul cel mi nlt


cre fiez cdrul curent.
Fce referire l ferestr curent.

Obiecte de nivelul cel mi nlt


Obiectul Window, de nivelul cel mi nlt pe prte de client, conine ptru obiecte copil, cer
formez bz pentru tote celellte obiecte. Ele sunt:
Document
Frme
History
Loction
Obiectul Document
Dei obiectul Window re nivelul cel mi nlt n ierrhie, obiectul Document este probbil
cel mi importnt. El este responsbil pentru coninutul efectiv fit pe o pgin i se pote
lucr cu el pentru construi pgini HTML dinmice. n document sunt coninute de semene
tote elementele obinuite le interfeei cu utiliztorul (UI) le unei plicii Web. Proprietile i
metodele obiectului Document sunt dte n tbelul de mi jos:
Tip
Element
Descriere
Metod
cpturEvents()
Cpturez evenimentele ce vor fi trtte de
document .
close()
nchide fluxul dtelor de ieire spre document.
contextul()
Permite plicre n mod selectiv unui stil unui
element HTML cre pre ntr-un context
specific.
getSelection()
ntorce textul selectt .
hndleEvent()
pelez hndlerul pentru evenimentul specifict.
open()
Deschide fluxul dtelor de ieire spre document.
releseEvents()
Eliberez evenimentele cpturte de document.
routeEvent()
Dirijez evenimentele cpturte spre lte obiecte.
write()
dug text n document.
writeln()
dug text i un crcter linie nou n document.
Proprieti linkColor
Culore unei legturi ctivte.
ll
Tbloul tuturor etichetelor HTML din document.
nchors
Tbloul de obiecte nchor.
pplets
Tbloul de obiecte pplet.
bgColor
Culore de fundl documentului.
clsses
Tbloul clselor pginilor cu stiluri.
cookie
Fiier cookie socit cu documentul.
domin
Domeniul documentului.
embeds
Tblou de obiecte nglobte.
fgColor
Culore textului n document.
forms
Tblou de obiecte Form.
formNme
Specific instn Form cre este ccest prin
folosire vlorii tributului nme n etichet
<form>.
height
Specific nlime documentului n pixeli.
ids
Tbloul identifictorilor pginilor cu stiluri.
imges
Tblou de obiecte Imge.

21

lstModified
lyers
linkColor
links
plugins
referrer
tgs
title
URL
vlinkColor
width

Dt cnd fost modifict ultim or


documentul.
Tblou de obiecte Lyer.
Culore legturilor.
Tblou de obiecte Link.
Tblou de obiecte nglobte .
dres URL documentului l cre fost legt
documentul curent.
Tbloul etichetelor pginilor cu stiluri.
Titlul documentului.
dres URL documentului curent.
Culore legturilor vizitte.
Specific lime n pixeli documentului.

Obiectul Frme
Cdrele sunt obiecte forte importnte, folosite pentru mbuntire prezentrii pliciilor
Web. Obiectul Frme reprezint un cdru dintr-o structur de cdre. ntr-o prezentre de cdre
multiple, obiectul Window este pgin cre conine definire <frmeset>, n timp ce celellte
pgini sunt considerte cdre n cest context. Proprietile i metodele obiectului Frme sunt
dte n tbelul de mi jos:
Tip
Metod

Element
blur()
clerIntervl()
clerTimeout()
focus()
print()
setIntervl()
setTimeout()

Propriette document
frmes
length
nme
prent
self
top
window

Descriere
Dezctivez cdrul .
nulez o execuie repett.
nulez orice execuie ntrzit.
ctivez un cdru .
fiez cset de dilog Print.
Stbilete plnificre funciei pentru executre
repett.
Stbilete plnificre funciei pentru executre
ntrzit.
Documentul curent ncrct n interiorul unui
cdru.
Tblou coninnd referiri l cdrele copil.
Lungime tbloului de cdre.
tributul nme l etichetei <frme>.
Ferestr principl su cdrul principl din cre
sunt crete cdrele copil.
Fce referire l cdrul curent.
Ferestr de browser cre execut scriptul.
Fce referire l ferestr curent su l cdrul
curent.

Obiectul History
O veche crcteristic n softul browserelor este cpcitte de urmrii lociile cre u fost
vizitte n decursul unei sesiuni. cest crcteristic juns s fie cunoscut c list istoric, ir
obiectul History este echivlentul ei n JavaScript. Proprietile i metodele obiectului History
sunt dte n tbelul de mi jos:
Tip
Element
Descriere
Metod
bck()
ncrc precedent dres din list istoric.

22

forwrd()

go()
Propriette current
length
next
previous

ncrc urmtore dres din list istoric,


presupunnd c l un moment dt utiliztorul s-
ntors.
ncrc o drs URL din list istoric, folosind
declre trnsfert.
Fce referire l dres URL curent din list
istoric .
ntorce numrul de intrri din list istoric.
Fce referire l urmtore dres URL din list
istoric .
Fce referire l dres URL nterior din list
istoric .

Obiectul Loction
n Web, principlul este prezentre coninutului. Tote obiectele Window sunt concepute
pentru fi coninut pe ecrnul utiliztorului, dr coninutul respectiv trebuie s provin de
undev i, de cee, origine pginii este coninut n obiectul Loction. Proprietile i metodele
obiectului Loction sunt dte n tbelul de mi jos:
Tip
Element
Descriere
Metod
relod()
Rencrc dres URL curent n ferestr de
browser .
replce()
ncrc nou pgin trnsfert n browserul
curent .
Propriette hsh
Reprezint un nume de ncor n dres URL,
cre ncepe cu crcterul #.
host
Reprezint numele clcultorului gzd i
numrul de port l dresei URL.
hostnme
Reprezint prte cu numele clcultorului
gzd din dres URL
href
Reprezint dres URL complet.
pthnme
Reprezint prte PTH_INFO dresei URL.
port
Reprezint prte de port dresei URL.
protocol
Reprezint prte de protocol dresei URL.
serch
Prte de cutre dresei URL, inclusiv
crcterul ?.
Elemente esenile le modelului obiectului document (DOM)
Progresele importnte le Web-ului soluionez ntotdeun problemele vechi. De exemplu,
Java ofere o modlitte de dezvoltre unor plicii Web independente de pltform de lucru
prin folosire minipliciilor. Dei nu este l fel de importnt, modelul obiectului document
rezolv lt problem destul de veche - portbilitte scripturilor JavaScript i progrmelor
Java n contextul browserelor Web. DOM reuete cest lucru folosind interfee stndrd de
progrmre pliciilor (PI), cre sunt definite n Object Mngement Group (OMG)
Interfce Definition Lnguge (IDL) i, c urmre, pot fi utilizte de orice limbj cre respect
IDL. Se pote consider c interfeele colective le DOM sunt o modlitte de stndrdiz
obiectele n tote browserele, l distribuire de documente HTML i XML. Desigur, browserul
Web trebuie s ccepte DOM, ir micre n cest direcie cptt un ritm rpid.
ctulmente, DOM nu este forte complex, ci dor definete o structur logic i
stndrdizt documentelor, grie crei se pot construi, edit i rsfoi elemente i coninut n
documente HTML su XML. Structur DOM este pur i simplu o ierrhie de obiecte,
comprbil cu limbjului JavaScript su oricrui lt limbj bzt pe obiecte. Diferen este
c DOM re o interf PI util, neutr din punctul de vedere l limbjului, cre definete un
23

set stndrd de interefee. st nu nsemn c tote pliciile DOM vor fi bzte pe celei
obiecte; ele i pot defini propriile interefee i obiecte.
De l DHTML l DOM
Trnzii pginilor Web spre un model de obiect cunote multe etpe, dr puine sunt tt de
importnte c DHTML, cre, n sine, este nesemnifictic prin comprie cu DOM. cest se
dtorez fptului c DOM este un model stndrdizt de obiect pe cre progrmtorii Web l
doreu de mult vreme. De exemplu, dc un progrmtor Web trebuie s ctulizeze o pgin
Web cu modelul de obiect DHTML, v fi necesr un volum considerbil de informii, posibil
sub form unui ghid pentru progrmtori. n relitte, DHTML este pur i simplu o modlitte de
permite modificre obiectelor cre sunt cceste i mnipulte folosind tributele lor id i
nme. El nu introduce stndrdizre i simplificre din DOM, cre ncpsulez ntregul
document c un model de obiecte, reprezentndu-l sub form unei ierrhii su structuri
rborescente. Nodurile cestei structuri rborescente reprezint etichetele HTML i segmentele
de text pe cre le pot conine. ntregul document HTML se fl n structur cest rborescent,
rtnd tote obiectele i reliile ntre copii, prini i fri. Spre deosebire de DHTML, se pote
nvig prin structur rborescent documentului DOM, efectund modificri cu uurin.

24

You might also like