Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Elemente fundamentale ale limbajului JavaScript



Elemente fundamentale ale limbajului JavaScript


Elemente fundamentale ale limbajului JavaScript


In timp ce Sun dezvolta mult-laudatul limbaj de programare Java, compania Netscape era ocupata cu realizrea unui limbaj de scriptare de categorie usoara, numit LiveScript. Acest limbaj a fost ulterior redefinit, redenumit JavaScript si lansat in colaborare de Sun si Netscape.

Cu JavaScript puteti asigura interactivitatea aproape nelimitata in paginile dumneavoastra Web, deoarece va permite sa accesati evenimente cum sunt: pornirile, incarcarile documentelor, iesirile si clicurile de mouse ale utilizatorului. JavaSript poate fi folosit si pentru a controla direct obiecte ca bara de stare a browserului, cadrele sau chiar fereastra de afisare a browserului. JavaScript ofera interactivitate intre modulele plug-in si miniaplicatiile Java.

Relatiile dintre JavaScript si CGI,

module plug-in si Java

Va intrebati poate ce ofera JavaScript in plus fata de utilizarea unui program CGI, a unui software plug-in sau a limbajului Java. Pagini Web semi-interactive existau cu mult inainte de aparitia limbajului JavaScript, gratie programelor CGI. Ulterior au aparut software-urile plug-in si Java, care au oferit mai multa interactivitate paginilor Web. Vom defini aceste tehnologii diferite, ca sa puteti intelege felul in care JavaScript imbogateste setul dumneavoastra de instrumente pentru Web.

CGI

CGI constituie standardul pentru felul in care programele stabilesc o interfata cu un server Web. Folosind un limbaj de Programare ca Perl, C/C++, Visual Basic sau AppleScript si respectand standardul CGI, puteti crea programe care sa transmita informatia de la client la serverul Web.



De exemplu, programatorii au creat multe utilitare de cautare folosind CGI, pentru a va ajuta sa localizati site-urile favorite din Web sau informatii asociate pe site-urile comparativ dezvoltatoare. In mod obisnuit, utilizatorul introduce un cuvant sau o expresie intr-un element text HTML si executa clic pe un buton Search. in felul acesta, textul este inaintat la server, unde un program CGI este pornit de serverul Web. Programul preia parametrii primiti si efectueaza functiile incluse in el, in cazul unei cautrii CGI, se va cauta probabil intr-o baza de date principala, gasind numai site-urile care corespund criteriilor de cautare. Dupa ce CGI a terminat cautarea, programul creeaza un nou document HTML cu rezultatele, pe care le transmite utilizatorului de browser Web. In acest exemplu, ati sesizat ca toata munca grea este facuta de server. Daca ati fi limitat la pagini Web statice care trebuie scrise din timp, ar trebui sa va ganditi la toate com­binatiile de cautari posibile. Crearea unui document Web pentru fiecare interogare nu ar fi practica - o modalitate ridicola de a emula tipul de functie de cautare cu care sunt obisnuiti utilizatorii. Aceasta este una dintre problemele pe care le-a rezolvat CGI pentru a ajuta Web-ul sa devina mai interactiv.

Modulele plug-in

Prin executarea unui clic pe o legatura, browserul este anuntat sa solicite si sa descarce un fisier. Daca fisierul este unul de tip text, HTML sau grafic, el este afisat pe display. Daca browser-ul nu recunoaste fisierul, va solicita sa-1 salvati local (pe hard-disc) ori sa selectati o aplicatie care sa-1 deschida. Pe langa executarea de clicuri spre aceste fisiere, este posibil sa inglobati fisiere de formate diferite in corpul HTML-ului.

Modulele plug-in, pe care Netscape le-a introdus pentru prima data in versiunea 2.0 a browserului Navigator, si pe care Internet Explorer le-a implementat in versiunea 3.0, au marit numarul fisierelor recunoscute de browser. Modulele plug-in sunt programe scurte pe care le puteti folosi pentru a trata fisierele in mod diferit (de pilda, ca sa le afisati cu controale suplimentare) sau pentru a folosi fisiere care initial nu fusesera prevazute sa fie intelese. Astfel de fisiere pot fi cele de tip audio, de animatie, Acrobat si VRML.

De exemplu, data executati clic pe o legatura care este indreptata spre un fisier de tip audio, dar browserul nu recunoaste in mod nativ formatul respectiv, el va cauta un modul plug-in care sa trateze fisierul. Data gaseste unul, il incarca si acesta incepe sa ruleze fisierul audio pentru dumneavoastra. Integrarea browserului si a player-ului audio este practic perfecta.

Exista multe module plug-in care sa va imbunatateasca experienta lucrului cu browserul. O lista mare de asemenea programe puteti gasi pe site-ul Netcenter de la Netscape, la adresa https://home.nescape.com/download

Java

Java este probabil tehnologia cea mai apropiata de limbajul JavaScript. Exista totusi diferente insemnate si, din acest motiv, vom examina Java mai amanuntit decat am facut cu CGI si cu modulele plug-in.

Spre deosebire de JavaScript, Java, prin insasi natura sa, nu are acces direct la elementele (obiectele) dintr-o pagina Web. Nu exista o versiune pe parte de client care sa fie special conceputa pentru a trata HTML si alte obiecte care sunt regasite de un browser. Structura si sintaxa limbajului Java sunt strans corelate cu implementarea limbajului JavaScnpt. Cuvintele rezervate, operatorii si instructiunile de control a fluxului sunt aproape identice. Deoarece Java este un limbaj compilat, este necesara o definire mai stricta a secventelor token din program. Ca rezultat, Java difera de protocolul JavaScript in doua domenii principale: in regulile privind tipul variabilelor si in metodologia de incapsulare a claselor.


TABELUL 5.1 Compararea atributelor in limbajele JavaScript si Java


JavaScript

Java

Limbaj de scriptare

Limbaj de programare

Flexibilitate in verificarea tipului variabilelor

Strictete in verificarea tipului variabiabilelor

Control elementar al accesului la etaje

Control definit al accesului la etaje

Fara posibilitate de lucru cu tipuri derivate

Capacitati complet orientate spre obiecte sau atribute mostenite

Fara verificarea tabloului ierarhie a instantelor

Verificarea stricta a accesului la tab1oul ierarhie a obiectelor

Obiecte JavaScript

Clase Java


In JavaScript, variabilele si functiile sunt declarate ca fiind fie locale, fie globate. Java impune o conventie privind accesul la etaje pentru variabile si metode (functii), in timp ce elementele sunt vizibile, conform modificatorului de acces: private, protected sau public. Modificatorii permit programatorului sa ascunda atributele obiectelor detaliile implementarii de interfata publica a obiectului, acordand mai multa libertate modificarii codului de baza al unei interfete publice si pastrand in acelasi timp compatibilitatea cu versiunile vechi.

Variabilele de instanta Java sunt declarate in mod riguros si fiecarei variabile speciale trebuie sa i se atribuie un tip de componenta primara sau derivata. Spre deosebire de Java, JavaScript nu necesita o specificatie. Java are tipuri de date incorporate, specializate care optimizeaza comportamentul si dimensiunea variabilei.

O alta distinctie ce trebuie consemnata este ca JavaScript are actualmente o schema de clasificare mai generala (number sau string) decat Java (int, long, float ,char). Obiectele JavaScript nu scaleaza realmente in tipuri de obiecte mai complexe, clase Java care grupeaza variabilele in componente de obiecte.


JavaScript un limbaj orientat spre obiecte, deoarece accepta o ierarhie a instantelor. Obiectele sunt definite cu variabile specifice si metode la care se pot face referiri folosind notatia cu punct, dar nu sunt extinse prin derivarea subclaselor. Desi sintaxa limbajului Java este similara cu a limbajului de scriptare JavaScript in privinta referirilor si crearii de obiecte componente, Java este un adevarat limbaj de programare, foarte asemanator cu C++.

Folosind cod Java, definirile obiectelor pot fi refolosite pentru a sluji drept cadru de loc pentru o arhitectura mai complexa. Clasele de obiecte sunt, «caramizile » de constnctie ale programului Java. Spre deosebire de JavaScript, fiecare functie si varia­bila Java trebuie definita in interiorul structurii claselor. In plus, Java va permite sa separe clasele in pachete de obiecte asociate sau sa definiti conventii abstracte de interfata pentru categoria de obiecte.

O alta diferenta este codul sursa Java, care este compilat in cod de biti de catre progra­mator, creand componente binare ce pot fi folosite de alti programatori. Puteti utiliza componentele create, clase de obiecte, pentru a construi clase derivate care mostenesc functionalitatea clasei de baza si-i extind atributele.

Capacitatea de a extinde clasa de baza constituie fundamentul refolosirii codului in sistemele de aplicatie pe scara mare si imbunatateste eficienta programatorului. Verifi­carea stricta a tipului de date este executata de compilatorul Java, solicitandu-i progra­rnatorului sa declare explicit si sa distribuie variabilele instanta ca tipuri fie incorporate, fie derivate. Codul JavaScnpt permite programatorului sa comute in mod deschis identifi­catorul tipului unei variabile, fara sa tina seama de definirea tipului ei initial.

Intre cele doua limbaje exista un grad inalt de integrate care permite programatorului sa inglobeze apeluri JavaScript in codul Java si sa acceseze metodele claselor Java in JavaScript. Aceasta capacitate sporeste valoarea programatorilor JavaScript care cunosc cadrul de lucru Java. Tehnologia aceasta este cunoscuta sub denumirea LiveConnect.

Inglobarea scripturilor in documente HTML


Trasatura specifica limbajului JavaScript este faptul ca puteti folosi limbajul pentru a scrie programe ce ruleaza pe parte de server. Pe parte de client puteti implementa JavaScript fie inglobat intr-un document HTML intre etichete <script>, fie in interiorul unei etichete HTML pentru a reactiona la un eveniment. De fiecare data cand este descar­cata o pagina HTML, JavaScript este interpretat de browserul clientului in functie de actiunile utilizatorului si de alte evenimente ce apar in timpul vizualizarii documentului HTML, sunt executate portiuni din scriptul sau scripturile inglobate.

Sa presupunem ca ati creat un document HTML pentru a colecta date de la cei care vizlteaza o anumita pagina Web. Puteti incepe cu un formular care include trei elemente text: pentru nume, companie si numar de telefon. La sfarsitul formularului, puteti include un buton Submit standard, pentru a expedia informatiile despre vizitator la o baza de date de pe serverul dumneavoastra Web. Puteti de asemenea solicita ca fiecare utilizator sa completeze absolut toate campurile si sa includa prefixul urban alaturi de numarul de telefon.

Dupa ce utilizatorul executa clic pe butonul Submit, toate datele din formular sunt transferate pentru prelucrare unui program pe parte de server. Daca programul sesizeaza ca utilizatorul n-a completat o informatie, poate raspunde cu un alt document HTML, solicitand introducerea datelor respective. Dupa aceea utilizatorul expediaza iarasi formularul, cu toate datele cerute in formatul corect. Daca programul este multumit cu ceea ce a introdus utilizatorul, poate continua, expediind datele la baza de date. Genul acesta de tratare a intrarilor cerute poate duce la intarzieri considerabile, care acum pot fi evitate gratie limbajului JavaScript. Cu JavaScript, puteti valida datele pe parte de client, astfel incat sa nu mai fie nevoit s-o faca serverul Web. Tratarea validarii datelor este un exemplu al felului in care JavaScript poate completa un program pe parte de server, oferind un raspuns mai rapid la erori si, in acelasi timp, eliberand mai multe resurse ale serverului

Evenimente

Una dintre caracteristicile cheie ale limbajului JavaScript este capacitatea sa de a intercepta un numar limitat de actiuni ale utilizatorului, cunoscute majoritatii programatorilor ca evenimente. Unele elemente HTML reactioneaza deja la evenimente cum ar fi executarea unui clic pe elementul familiar de legatura care duce la alt document HTML. Cand treceti cursorul mouse-ului peste textul sau imaginea care constituie legaturi cursorul se modifica din sageata intr-o mana micuta. Unele browser-e reactioneaza prin afisarea in bara de stare a adresei URL de destinatie. JavaScnpt il numeste eveniment mouseOver si reactioneaza ori de cate ori treceti cursorul mouse-ului peste element. Daca executati clic pe oricare parte a legaturii, browser-ul raspunde trimitandu-va la o locatie diferita de pe Web sau deschizand un nou fisier. Actiunea este denumita mentClick si este declansata ori de cate ori se executa clic pe legatura. HTML intercepteaza aceste evenimente si browserul reactioneaza intotdeauna in acelasi mod. Cu JavaScript, puteti crea acum reactii particularizate la multe evenimente ce pot aparea in timp ce utilizatorul vizualizeaza un document HTML.

Specificatii de sintaxa

Ca orice limbaj de programare, JavaScript are o anumita modalitate de a trata diferit articole si elemente. Exista de asemenea specificatii privind cuvinte-cheie, cuvinte rezervate, token urile si multe altele.

Pe masura ce Netscape, Microsoft si alte companii de virf au imbunatatit standardul esential ECMAScript si implementarile lor individuale, JavaScript a cunoscut versiuni noi alaturi de versiunile noi ale diverselor browsere.


Versiune JavaScript Descriere

Recunoscuta in Netscape Navigator 2.

Recunoscuta in Netscape Navigator 3, Internet Explorer 3, Opera 3 Si Netscape Enterprise

Server 2.

Recunoscuta in Netscape Navigator 4 ping la 4.04 si in Internet Explorer 4.

Recunoscuta in Netscape Navigator 4.05 pins la 4.7 si in Internet Explorer 5.

Recunoscuta in unele versiuni pre-alfa (inainte de M12) de Mozilla, Hotjava 3.0, Internet

Explorer 5.5 si Netscape Enterprise Server 4.0.

Planificata sa fie recunoscuti in

Navigator 5 (Mozilla), versiunea Open Source a browserului Netscape Navigator.

Pentru a vedea care sunt relatiile dintre aceste versiuni de JavaScript, JScript si ECMAScript, consultati tabelele 5.3, 5.4 si 5.5. Relatiile reciproce dintre JavaScript, JScript si ECMAScript nu sunt neaparat identice. Exista diferente minore care fac incomplete asemenea comparatii.

TABELUL 5.3 Relalia dintre JavaScript si Jscript


JavaScrzpt                    JScript

1.0 Nu este recunoscut

1.1 1.0-2.0

1.2 3.0-4.0

1.3 5.0-5.1

1.4 5.0-5.1

1.5 5.5

TABELUL 5.4 Relalia dintre JavaScript si ECMAScript


JavaScnpt ECMAScript

Nu este recunoscut

1.1 Nu este recunoscut - Primele elemente pentru standardizare

1.2 Nu este recunoscut - Contine majoritatea standardului ECMAScrip

1.3 1.0

1.4 1.0 Revizia 2

1.0 Revizia 3


TABELUL 5.5 Relatia dintre JScript si ECMAScript


JScript ECMAScript

1.0 Nu este recunoscut

2.0 Nu este recunoscut - Primele elemente pentru standardizare


1.0

1.0 Revizia 2

1.0 Revizia 3

Ca programator JavaScript, trebuie sa cunoasteti platforma tinta, astfel incat sa programati pentru versiunea corecta de JavaScript. O data stabilit acest lucru, puteti specifica versiunea pe care doriti s-o folositi, cu atributul language al etichetei <script>.

Nu uitati ca eticheta aceasta a fost depreciata in mod oficial in HTML 4.01 si XHTML 1.0

NOTA: Actualmente nu exista nici o eticheta standardizata care se va permita sa specificati versiunea limbajului. Recomandam totusi folosirea atributului language in combinatie cu atributul type, pana se va standardiza o metoda definitiva.

De exemplu, daca aplicatia dumneavoastra trebuie sa ruleze pe Netscape Navigator versiunile 2.0 si ulterioare si pe Microsoft Internet Explorer 3.0, veti scrie script pentru JavaScript versiunea 1.0. Pe de alta parte, daca platforma tinta este Navi 5.0/Mozilla si doriti sa profitati de caracteristicile sale avansate, veti folosi urmatoarele etichete pentru a specifica versiunea :


Pentru a specifica versiunea                                  folositi                                 

1.5 <script language = 'JavaScriptl.5' type='text/javascript'>

1.4 <script language = 'JavaScriptl.4' type='text/javascript'>

1.3 <script language = 'JavaScriptl.3' type='text/javascript'>

1.2 <script language = 'JavaScriptl.2' type='text/javascript'>

1.1 <script language = 'JavaScriptl.1' type='text/javascript'>

1.0 <script language = 'JavaScript' type= 'text/javascript'>


Nu incercati sa folositi 'Javascript l .0' sau 'Javascript l ' pentru a specifica versiunea 1.0 a limbajului. Ele nu vor fi recunoscute si scriptul dumneavoastra va fi ignorat.

Inainte de a intra in specificatiile JavaScript, subliniem din nou importanta speci­ficarii limbajului corect in eticheta <script>. Un browser va ignora orice scripturi ce specifica o versiune de limbaj pe care n-o poate intelege.

Tokenuri

Tokenurile sunt cele mai mici cuvinte, expresii sau caractere individuale pe care le poate intelege JavaScript. Cand JavaScript este interpretat, browserul analizeaza scriptul, identificand tokenurile si ignorand comentariile si spatiile albe.

Tokenurile JavaScript se clasifica in patru categorii: identificatori, cuvinte-cheie, ele­mente literale si operatori. Ca in cazul tuturor limbajelor de calculator, dispuneti de mai multe modalitati de a aranja aceste tokenuri ca sa instruiti un calculator sa execute o functie specifica. Sintaxa unui limbaj este setul de reguli si restrictii privind modalitatea in care puteti combina tokenurile.

Identificatori

identifiratorii sunt pur si simplu nume care reprezinta variabile, metode sau obiecte. Ei constau dintr-o combinatie de caractere literale si cifre. Unele nume sunt deja incorp­orate in limbajul JavaScnpt si, ca urmare sunt rezervate.

Pe langa aceste cuvinte-cheie, puteti defini proprii dumneavoastra identificatori semni­tcativi. Desigur, trebuie respectate cateva reguli:

  • Toti identificatorii trebuie sa inceapa fie cu o litera fie cu o liniuta de subliniere (_).
  • Puteti folosi litere, cifre sau liniute de subliniere pentru toate caracterele care urmeaza.
  • Literele sunt toate caracterele majuscule de la "A' la "Z' si toate caractere minuscule de la "a' la "z'.
  • sirul de caractere care alcatuieste un identificator nu trebuie si includa spatii.
  • Cifrele sunt de la 0 la 9.

Tabelul 5.6 prezinta cateva exemple de identificatori corecti si incorecti.

TABELUL 5.6 Exemple de identificatori JavaScript definiii de utilizatori

Corect             Incorect De ce identificator incorect?

currentWebSite current WebSite spatiu intra nume

numberOfHits #ofIslands incepe cu caracter special

n 2bOrNotToBe incepe cu caracter cifra

N       return                   cuvant cheie rezervat


Observati ca numele curent WebSite este incorect, deoarece contine un spatiu. JavaScript incearca sa-l interpreteze ca fiind doi identificatori in loc de unul. Desi este nevoie de spatiu, se obisnuieste sa se foloseasca o liniuta de subliniere in locul sau.

#ofIslands este incorect, deoarece semnul # nu este inclus in setul de caractere acceptate pentru identificatori. 2bOrNotToBe este incorect, deoarece incepe cu o cifra. Identificatorul return este deja folosit de JavaScript in alt scop. Incercarea de a-l folosi ca propriul dumneavoastra identificator va produce erori cand incercati sa rulati scriptul. Atat n cat si N sunt identificatori corecti si sunt diferiti intre ei. JavaScript diferentiaza majusculele si, ca urmare, considera identificatorii cu litere mari diferiti de cei cu litere mici, chiar daca au aceleasi litere.


Cuvinte-cheie si cuvinte rezervate

Cuvintele-cheie sunt identificatori predefiniti care alcatuiesc nucleul unui limbaj de programare. In JavaScript, ele executa functii unice, cum ar fi declararea de functii, luarea deciziilor bazate pe starea actuala a calculatorului sau pornirea respectiva in interiorul aplicatiei dumneavoastra.

Cuvintele-cheie sunt incorporate in JavaScript si sunt intotdeauna disponibile pentru utilizarea de catre programator, dar trebuie sa respecte sintaxa corecta. Cuvantul cheie var este primul pe care-1 vom descrie in detaliu si mai tarziu in cadrul acestui capitol veti vedea cum puteti folosi alte cuvinte-cheie pentru a crea programe mai dinamice.

Cuvintele rezervate sunt identificatori pe care nu-i puteti folosi ca nume pentru functii, obiecte sau metode JavaScript. Ele includ cuvinte-cheie si identificatori care sunt pastrati pentru o posibila utilizare viitoare.

Lista urmatoare cuprinde toate cuvintele rezervate pentru JavaScript:


Abstract else instanceof switch

Boolean                          enum int sincronized


Break export interface this

Byte extends long throw

case false native throws

catch final new transient

char finally null true

class float package try

const for private typeof

continue function protected var

debugger goto public void

default if return volatile

delete implements short while

do import static with

double in super


Elemente literale                                    

Elementele literale sunt numere sau siruri folosite pentru a reprezenta valori fixe in JavaScript. Ele sunt valori care nu se modifica in timp ce se executa scripturile. Urmatoarele cinci sectiuni descriu diferitele tipuri de elemente literale.

Numar intreg

Numerele intregi pot fi exprimate in format zecimal (baza 10), octal (baza 8) sau hexazecimal (baza 16). Un element literal de tip numar intreg in format zecimal poate include orice sir de cifre care nu incepe cu 0 (zero). Un zero in fata unui element literal de tip numar intreg desemneaza formatul octal.

Numarul intreg in sine poate include cifrele de la 0 la 7. Pentru a desemna formatul hexazecimal in fata numarului intreg se foloseste Ox (sau OX). Numerele intregi hexa­zecimale pot cuprinde cifrele de la 0 la 9 si literele de la "a' la 'J', sau de la "A' la "F'.

Iata cateva exemple:

Zecimal                   33

Octal 071

Hexazecimal Ox7b8, 0X395


Virgula mobila

Elementele literale de tip virgula mobila reprezinta numere zecimale fractionare. Ele pot fi exprimate standard sau exponential. Reprezentarea exponentiala foloseste "e' sau "E' pentru a desemna exponentul. Atat numarul zecimal cat si exponentul pot fi pozitive sau negative, dupa cum se arata in urmatoarele exemple.



8.3200e+11

8.3200e11

9.98E-12


Valori booleene

JavaScript implementeaza tipuri de date booleene si, ca urmare accepta cele doua elemente literale true si false care reprezinta valorile booleene 1, respectiv 0. Daca sunteti incepator in programare, veti intelege in scurt timp cat de frecvent este nevoie de valorile literale de tip boolean true si false. Acesta este motivul pentru care Java le-a incorporat in limbaj. Cuvintele-cheie true si false nu trebuie sa apara cu litere mari, prin urmare, puteti folosi ca proprii dumneavoastra identificatori cuvintele TRUE si FALSE scrise cu litere mari, desi nu este recomandat, pentru a se evita orice confuzii.

Un element literal de tip sir este format din zero sau mai multe caractere incadrate intre ghilimele (' ') sau intre apostrofuri. JavaScript ofera aceasta optiune, dar pentru incadra un sir trebuie sa folositi acelasi tip de semne. Iata in continuare exemple de elemente literale de tip sir incadrate intre ghilimele sau intre apostrofuri:


'Masina mea'

'comunitati 'virtuale' '


'Uite, sus pe cer!'


Folosirea ghilimelelor si apostrofurilor este comoda, daca preferati unul dintre cele doua tipuri. Cand veti invata despre metodele incorporate in JavaScript, cititi cu atentie indicatiile pe care trebuie sa le urmati cand folositi ca parametri elemente literale de tip sir. In unele cazuri, pentru a folosi corect metoda, puteti fi nevoit sa intrebuintati atat ghilimelele cat si apostrofurile, atunci cand includeti un element literal de tip sir in altul. Situatia difera de folosirea codurilor Escape, care este descrisa in urmatoarea sectiune.


Caractere speciale

Cand scrieti scripturi, apare necesitatea de a-i spune calculatorului sa foloseasca un caracter special sau o apasare de tasta, asa cum este tasta Tab, sau o linie noua. Pentru aceasta, folositi un caracter backslash () in fata unuia dintre codurile Escape, ca in lista urmatoare:


b indica o apasare a tastei Backspace.

f indica o paging noua.

n indica o hnie noua.

r indica un retur de car.

t indica o apasare a tastei Tab.

indica un caracter backslash.

indica un apostrof.

indica ghilimele.


Daca doriti sa emulati tasta Tab pentru a alinia doua coloane de date, trebuie sa folositi caracterul Tab (t). Listingul 5.1 arata cum sa aliniati text, folosind tasta Tab. Scriptul in sine poate fi mai dificil de citit dupa ce adaugati caracterele speciale, dar rezultatele sunt evident superioare.


Listingul 5.1 Folosirea caracterelor speciale in JavaScript


<html>

<head>

<title>JavaScript Unleashed</title>

</head>

<body>

<!--

Notice: Special characters do not take effect unless enclosed in a

pre-formatted block

-->

<pre>

<script type='text/javascript'>

<!--

document.writeln('tPersonnel');

document.writeln('NamettAddress'); document.writeln('Jeffttjeff@companycom'); document.writeln('Billttbill@companycom'); document.writeln('Kimttkim@company.com');

// -->

</script>

</Pre>

</body>

</html>

NOTA: Caracterele speciale devin operationale numai atunci cand se folosesc intr-un bloc de text formatat; de aceea, scriptul dumneavoastra trebuie sa fie cuprins intre etichete ca <pre> si </pre>.

Daca trebuie sa reprezentati ghilimele sau apostrofuri in interiorul unui element literal de tip sir, precedati-le cu un caracter backslash:

document.write(''Imaginatia este mai importanta decat cunoasterea.'');

document.write(', Albert Einstein');

Scriptul anterior va afisa urmatoarea linie de text:

'Imaginatia este mai importanta decat cunoasterea.', Albert Einstein



Operatori

Operatorii sunt simboluri sau identificatori care reprezinta o modalitate in care poate fi evaluata sau manipulata o combinatie de expresii. Operatorul cel mai obisnuit pe care l-ati utilizat pana acum este cel de atribuire. In exemplul x =10, atat 10 in sine cat si variabila x sunt expresii. Cand Javascript inttlneste un operator de atribuire intre doua expresii, actioneaza conform regulilor operatorului. In cazul mentionat, ia valoarea expresiei din partea dreapta si o atribuie variabilei din partea stanga. Alaturi de operatorii aritmetici obisnuiti, JavaScript recunoaste peste 30 de alti operatori care vor fi prezentati mai detaliat in capitolul 'Operatori'.


Variabile

O variabila este numele atribuit unei locatii din memoria calculatorului unde sunt si datele. Variabilele au usurat mult procesul de stocare, actualizare pentru programatorul modern. Cu ajutorul variabilelor, puteti atribui nume semnificative acelor locatii unde sunt stocate datele, lasand restul in seama calculatorului.


Atribuirea numelor

Numele unei variabile JavaScript este alcatuit din una sau mai multe litere, cifre sa liniute de subliniere. Numele nu poate sa inceapa cu o cifra (intre 0 si 9). Literele includ toate caracterele majuscule, de la "A' la "Z', si toate caracterele minuscule, de la "a' la "z'. JavaScript diferentiaza majusculele de minuscule si, ca urmare, considera ca urmatoarele doua exemple sunt nume diferite de variabile:

internetAddress

internetaddress

Urmatoarele sunt de asemenea nume corecte de variabile:

_lastName

n

number_2


La denumirea cu un singur cuvant a variabilelor, in JavaScript se folosesc numai litere mici. Cand se folosesc doua sau mai multe cuvinte pentru numele unei variabile, se intrebuinteaza litere mici pentru primul cuvant si initiala cu litera mare pentru toate cuvintele urmatoare. Obisnuim se folosim doua sau mai multe cuvinte pentru numele unei variabile, pentru a oferi altora si noua insine un indiciu cat mai clar despre scopul crearii variabilei.

De exemplu, sa presupunem ca avem nevoie de o variabila care sa contina o valoare booleana (true sae false), care va va anunta daca un vizitator al paginii dumneavoastra Web a terminat de introdus numele sau intr-un camp de text. Daca folositi un nume de variabila cum ar fi gata, un alt programator (sau chiar dumneavoastra, dupa cateva luni) s-ar putea intreba:

Ce-o fi asta, un indicator care poate fi verificat pentru a vedea daca vizitatorul a terminat? sau un sir care specifica ce anume trebuie sa fie afisat dupa ce a terminat vizitatorul, de pilda un mesaj de multumire?.

In cazul acesta, ar fi preferabil sa-i dati variabilei numele aTerminat. Folosind a ca prefix, indicati faptul ca variabila pane o intrebare de tipul 'da sau nu' indicand ca va stoca o valoare booleana. Daca vizitatorul termina prin introducerea numelui sau, denumirii aTerminat i se atribuie valoarea true; in caz contrar, i se atribuie valoarea false.

Desi lungimea numelui unei variabile JavaScript este limitata doar de memoria calcula­torului, este preferabil s-o pastrati in limite practice: 1-20 caractere saa doua-trei cuvinte. Cand scrieti programele, incercati sa nu depasiti capatul unei linii. Numele lungi pot determine asemenea situatii, afectand aspectul si structura programului dumneavoastra.

Exista unele variabile clasice, cu nume formate dintr-un singur cuvant sau chiar dintr-un singur caracter. Cele mai frecvente sunt n (pentru orice numar), x, y si z (pentru coordo­nate) si i (pentru o secvente de inlocuire intr-o functie recursiva sau o contorizare intr-un ciclu). Repetam: aceste metode de folosire a variabilelor sunt pur si simplu cele mai frecvente si le puteti intrebuinta in orice scop care vi se pare convenabil.

Daca activati ca profesionist in acest domeniu, exista posibilitatea reala ca programul dumneavoastra sa trebuiasca sa fie citit de alte persoane. Utilizarea unor conventii de nume consecvente si semnificative poate fi de mare ajutor celui care va pastreaza programele. Conventiile defectuos gandite dau mari batai de cap si pot afecta beneficiile unei cornpanii.


Formularea declaratiilor

Pentru a anunta JavaScript ca veti folosi un identificator ca variabila, trebuie mai intai sa declarati variabila. Pentru declararea variabilelor in JavaScript, folositi cuvantul-cheie var urmat de numele variabilei. Actiunea aceasta rezerva numele ca variabila ce va fi folosita drept loc de stocare pentru orice date doriti se tineti in ea. In urmatoarele exemple, observati ca puteti declara mai multe variabile simultan, folosind virgule intre numele lor

var internetAddress;

var n;

var i, j, k;

var isMouseOverLink, helloMessage;

Dupa ce o variabila este declarata, ea poate primi prima ei valoare. Aceasta initializare se efectueaza cu operatorul de atribuire =.


NOTA: Semnul egal (=) se foloseste pentru a atribui o valoare unei variabile.


Puteti initializa o variabila in acelasi moment in care o declarati, sau oricand dupa aceea in script. Atribuirea unei valori cand variabila este declarata va poate ajuta sa tineti minte ce tip de valoare ati intentionat initial sa contina variabila. Exemplul anterior a fost rescris pentru a include toate initializarile:



var internetAddress = 'nameftompany.com';

var n = 0.00;

var i = 0, j = 0, k;

var isMouseOverLink = false;

var helloMessage = 'Hello, thank you for coming!';

k = 0;


Observati ca toate variabilele au fost initializate si declarate in acelasi timp, cu exceptia variabilei k, care este initializata la scurt timp dupa aceea. JavaScript citeste de sus in jos, parcurgand fiecare linie de cod si executand instructiunfe in ordine. Pana ce programul ajunge la etapa de initializare, se spune ca variabila este nedefinita si nu puteti extrage valoare din ea. Citirea unei valori dintr-o variabila inainte de a fi initializata determina o eroare la executarea aphcatiei. JavaScnpt va permite sa verificati daca unei variabile i-a fost atribuita o valoare, folosind operatorul typeof. JavaScript ofera si alta modahtate de a declara o variabila - initializarea ei fara a utiliza cuvantul-cheie var. Daca atribuiti o valoare unei variabile noi inainte s-o declarati var, JavaScript o va declara automat in locul dumneavoastra.

In versiuni mai vechi de browsere care recunosc JavaScript, declararea variabilelor fara cuvantul-cheie var va declara automat ca variabila are un domeniu global de valabilitate. Desi poate fi declarata ca scurtatura, in programare este preferabil ca toate variabilele sa fie declarate in mod specific. Folosirea cuvantului-cheie var pastreaza domeniul de valabilitate al variabilei.

Tipurile de date

Atunci cand stocati o data (mai frecvent cunoscuta ca valoare), JavaScnpt o clasifica automat intr-unul din cele cinci tipuri de date specifice limbajului. Tabelul 5.7 prezinta tipurile de date recunoscute de JavaScript.

Tabelul 5.7 Tipuri de date din JavaScrint

Tip Exemplu

Number                -19, 3, 3.14159

boolean true, false

String 'Elementar, dragul meu Watson!*, ''

function unescape, write

object window, document, null

O variabila de tip number contine fie un numar intreg, fie un numar real.

O variabila de tip boolean contine fie true, fie false.

Variabilele de tip string pot contine orice ele­mente literale de tip sir care le-au fost atribuite, inclusiv siruri goale. Tabelul 5.7 arata modul in care un sir gol se reprezinta prin doua caractere ghilimele.

Variabilele de tip function sunt fie definite de utilizator, fie incorporate. De exemplu, functia unescape este incorporata in JavaScript. in capitolul ,Functii', unde veti invata cum sa construiti fuctii definite de utilizator.

Functiile care apartin obiectelor, numite metode in JavaScript, sunt clasificate tot in tipul de date function. Obiectele JavaScript esentiale pe parte de client, ca window sau document, apartin desigur tipului de date object. Variabilele object, sau mai simplu obierte, pot stoca alte obiecte. Despre o variabila care contine valoarea null se spune ca apartine tipului de date object, pentru ca JavaScript clasifica valoarea null ca fiind ebiect. Initializarea unei variabile cu null constituie o modalitate excelenta de prevenire a erorilor, daca nu sunteti sigur ca variabila va fi folosita.

Limbajele de programare cer de obicei sa definiti tipul de date pe care-1 va reprezenta o variabila noua si, in programul dumneavoastra, se asteapta ca orice valoare atribuita respectivei variabile sa fie de tipul de date definit. In plus, apare o eroare atunci cand incercati sa-i atribuiti variabilei un alt tip de date. Asta nu se intampla in JavaScript, care este un limbaj flexibil in privinta tipului de date. Nu vi se cere sa definiti tipurile de date si nici nu sunteti impiedicat sa atnbuiti tipuri difente de date aceleiasi variabile. Variabilele JavaScript pot accepta oricand un nou tip de date, actiune care, la randul ei, modifica tipul variabilei. Urmatoarele exemple prezinta utilizari corecte de variabile JavaScript:


var carLength;

carLength

document.writeln(carLength);

carLength = '9 feet';

document.writeln(carLength);


Dupa ce ati declarat variabila, lui carLength i se atribuie valoarea 4 + 5. JavaScript stocheaza numarul 9 ca fiind de tip number. Cu toate acestea, cand ii reatribuiti lui carLength valoarea '9 feet', JavaScript va permite se stocati un nou tip de valoare de tip string, in carLength. In felul acesta sunt eliminate etapele suplimentare necesare de obicei in alte limbaje de programare, prin care calculatorul este anuntat ca ati modificat tipurile de date.


Domeniul de valabilitate

Domeniul de valabilitate al unei variabile este format din zona sau zonele dintr-un program care pot referi o variabila. Se presupunem ca inglobati un script in antetul unui document HTML si un alt script (folosind alte etichete script) in corpul sau. JavaScript considera ca orice variabile declarate in interiorul acestor doua zone au acelasi domeniu de valabilitate. Variabilele sunt considerate globale si pot fi accesate de orice script in documentul curent. Ceva mai tarziu in cadrul acestui capitol, vom prezenta mai detaliat functiile, care sunt blocuri de cod distincte. Variabilele declarate in interiorul acestor blocuri sunt considerate locale si nu sunt intotdeauna accesibile oricaror scripturi.



Variabile locale

O variabila declarata in interiorul unei functii are domeniu de valabilitate local. Numai functia respectiva are acces la valoarea continuta in variabila. Variabila este creata de fiecare data cand functia este apelata. Similar, variabila este distrusa de fiecare data cand functia se incheie. O alta functie care declara o variabila cu acelasi nume este considerata de JavaScript ca fiind o variabile diferita. Fiecare dintre ele se adreseaza propriului sau bloc de memorie.


Variabile globate

Daca doriti ca mai multe functii sa partajeze o variabila, declarati variabila inafara oricaror functii (dar, desigur, intre etichete <script>). Cu aceasta metoda, toate partile aplicatiei dumneavoastra, inclusiv toate functiile, pot partaja variabila.


NOTA:Este recomandabil sa declarati variabilele globate in sectiunea <head> a paginii HTML pentru a va asigura ca ele sunt incarcate inainte de orice alta parte a aplicatiei.


Listingul 5.2 demonstreaza felul in care este declarata si implementata o variabila globala. Pentru a sublinia diferenta dintre domeniile de valabilitate, am inclus in program doua functii. Nu trebuie sa cunoasteti felul in care lucreaza ele, ci doar sa intelegeti ca sunt asemenea unor parti separate ale unui script, incadrate intre acolade ().

Listingul Domeniul de valabilitate global si local al unei variabile var_loc_glob.htm


<html>

<head>

<title>Domeniul de valabilitate global si local al unei variabile </title>

<script Language='JavaScript'>

<!--

// Variabile globale

var a='A',b;

b=0;

// Functii

function changeToB()

function changeToC()

// -->

</script>

</head>

<body>

<script Language='JavaScript'>

document.writeln('Initializam variabila a cu :'' + a+''.');

</script>

<br>

<form name='outputForm'>

<input name='changeButtonA' type='button' value='Change To B' onclick= 'changeToB()'>

<input name='changeButtonB' type='button' value='Change To C' onclick= 'changeToC()'>

<p>

Value of globalString

<p>


<input name='beforeB' type='TEXT' size='5 '>


Before clicking on 'Change To B'

<br>

<input name='afterB' type='TEXT' size='5 '>


After clicking on 'Change To B'

<br>

<input name='beforeC' type='TEXT' size='5 '>


Before clicking on 'Change To C'

<br>

<input name='afterC' type='TEXT' size='5 '>


After clicking on 'Change To C'

<p>

</form>

</body>

</html>


In acest exemplu, valoarea initiala a lui globalstring este afisata prima, ceea ce arata ca desi variabila a fost declarata in blocul <head> al documentului, ea poate fi utilizata de un script din interiorul blocului <body> al documentului. Daci executati clic pe butonul "Change To B", functia changeToB() afiseaza mai intai valoarea initiala a lui globalString, o modifica in B si apoi afiseaza noua valoare pe care o are globalString. Pentru a demonstra ca toate functiile din document pot folosi aceeasi variabila, am adaugat un al doilea buton care sa apeleze alta functie. Daca executati clic pe butonum Change to C, se afiseaza valoarea curenta a lui globalString, care este acum B si apoi se modifica globalString in C.

Constante

O constanta este o variabila care pastreaza aceeasi valoare pe toata durata executarii programului. JavaScript foloseste constante incorporate pentru a reprezenta valori folosind operatiile matematice uzuale, asa cum este pi(p). Ele pot fi accesate prin intermediul obiectului math.

Constantele definite de utilizator sunt variabile pe care le defineste programatorul si ale caror valori nu se pot modifica. De obicei, constantele sunt reprezentate prin cuvinte care incep cu o litera mare si sunt definite la inceputul programului.

JavaScript nu recunoaste constantele in modul traditional. De obicei, un limbaj de programare care recunoaste constante definite de utilizator se asigura ca nici o alta parte a aplicatiei nu poate modifica valoarea unei constante dupa ce aceasta a fost definita.

Tentativa de modificare determina o eroare. JavaScript nu va efectua insa verificarea aceasta pentru dumneavoastra.

Chiar daca nu exista nici o modalitate prin care sa determinati JavaScript sa se asigure ca o variabila nu este modificata, puteti folosi variabile care sa aibe valori ce sunt folosite in mod repetat intr-un script. Inlocuind instantele multiple ale unei valori obisnuite cu o variabila, usurati actualizarea ulterioari a scriptului. Tot ce aveti de facut este sa modificati initializarea variabilei si intregul script este actualizat.


Culori

JavaScript accepta culorile care sunt folosite la construirea paginilor HTML. Pentru a specifica o culoare in aplicatia dumneavoastra, de pilda culoarea unui font, alegeti din lista prezentata in tabelul 5.8. Aceste valori sunt elemente literate de tip sir (nu con­stante) pe care le puteti atribui unor proprietiti specifice ale obiectelor.

Listingul 5.3 prezinta felul in care puteti folosi aceste valori ca sa stabiliti culoarea sirurilor scrise pe display.

Observati ca puteti folosi fie numele culorii, fie echivalentul ei hexazecimal. Metoda poate parea oarecum bizara, insa stabileste pur si simplu proprie­tatea fontcolor a elementului literal de tip sir care este scris pe display.


NOTA: Nu puteti schimba culoarea textului dupa ce ascesta a fost afisat in fereastra de browser. Documentul trebuie reincarcat cu o specificatie diferita a culorii fontului


Listingul 5.3 Folosirea culorilor in JavaScript


<html>

<head>

<title>Folosirea culorilor in JavaScript JavaScript </title>

</head>

<h3>

<script type='text/javascript'>

<!--

document.writeln('document.writeln('Scrierea unui text in rosu caramiziu !'.fontcolor('crimson'))'.fontcolor('crimson'));

//-->

</script>

</h3>

<h2>

<script type='text/javascript'>

<!---

document.writeln('document.writeln('Scrierea unui text blue!'.fontcolor('blue'))'.fontcolor('blue'));

document.writeln('<br>' + '<h1>Testam culoarea green!</h1>'.fontcolor('#008000'));

//-->

</script>

</h2>

</body>

</html>


Sirul hexazecimal pentru fiecare culoare este de fapt o combinatie a valorilor RGB (red/green/blue - rosu/verde/albastru) care sunt utilizate pentru formarea oricaror culori. De exemplu, valoarea hexazecimala pentru "aqua' este #OOFFFE Aceasta valoare RGB are 00 pentru valoarea Red (rosu), FF pentru valoarea Green (verde) si FF pentru valoarea Blue (albastru). Doua cifre in hexazecimal permit 256 de nuante pentru fiecare culoare. Pentru "aqua', culoarea rosu este setata la zero, ceea ce inseamna ca exista rosu, iar culorile verde si albastru sunt ambele la intensitate maxima; in crearea culorii "aqua' sunt folosite cantitati egale de verde si albastru. Cu care 256 de combinatii pentru rosu, verde si albastru, sunt posibile peste 16 mihoane de culori, dar nu toate sunt recunoscute de JavaScript. Lista completa a culorilor recunoscute este prezentata in tabelul 5.8.


TABELUL 5.8 Echivalentele hexazecimale ale culorilor


Culoare Rosu Verde Albastru Culoare Rosu Verde Albastru


Aliceblue F0 F8 FF antiquewhite FA EB D7 aqua 00 FF FF aquamarin 7F FF D4

azure F0 FF FF beige F5 F5 DC

bisque FF E4 C4 black 00 00 00

blanchedalmond FF EB CD blue 00 00 FF

blueviolet 8A 28 E2 brown A5 2A 2A

burlywood DE B8 87 cadetblue 5F 9E A0

chartreuse 7F FF 00 chocolate D2 69 1E

coral FF 7F 50 cornflower-blue 64 95 ED

cornsilk FF F8 DC crimson DC 14 3C

cyan 00 FF FF darkblue 00 00 8B

darkcyan 00 8B 8B dark-goldenrod B8 86 0B

darkgray A9 A9 A9 darkgreen 00 64 00

darkkhaki BD B7 6B darkmagenta 8B 00 8B

darkolivegreen 55 6B 2F darkorange FF 8C 00

darkorchid 99 32 CC darkred 8B 00 00

darksalmon E9 96 7A darkseagreen 8F BC 8F

darkslateblue 48 3D 8B darkslategray 2F 4F 4F

darkturquoise 00 CE D1 darkviolet 94 00 D3

deeppink FF 14 93 deepskyblue 00 BF FF

dimgray 69 69 69 dodgerblue 1E 90 FF

firebrick B2 22 22 floralwhite FF FA F0

forestgreen 22 8B 22 fuchsia FF 00 FF

gainsboro DC DC DC ghostwhite F8 F8 FF

gold FF D7 00 goldenrod DA A5 20

gray 80 80 80 green 00 80 00

greenyellow AD FF 2F honeydew FO FF F0

hotpink FF 69 B4 indianred CD 5C 5C

indigo 4B 00 82 ivory FF FF F0

khaki F0 E6 8C lavender E6 E6 FA

lavenderblush FF F0 F5 lawngreen 7C FC 00

lemonchiffon FF FA CD lightblue AD D8 E6

lightcoral F0 80 80 lightcyan E0 FF FF

hghtgolden- FA FA D2 hghtgreen 90 EE 90

rodyelow

hghtgray D3 D3 D3 lightpink FF B6 C1

lightsalrbon FF A0 7A hghtseagreen 20 B2 AA

lightskyblue 87 CE FA lightslate-grey 77 88 99




Culoare              Rosu Verde Albastru Culoare Roru Verde Albastru

lightsteelblue B0 C4 DE lightyellow FF FF E0

lime 00 FF 00 limegreen 32 CD 32

linen FA FO E6 magenta FF 00 FF

maroon 80 00 00 mediumaqua- 66 CD AA

marine

mediumblue 00 00 CD mediumorchid BA 55 D3

mediumpurple 93 70 DB mediumseagreen 3C B3 71

mediumslateblue 7B 68 EE medium- 00 FA 9A

springgreen

mediumturquoise 48 D1 CC mediumvioletred C7 15 85

midnightblue 19 19 70 mintcream F5 FF FA

mistyrose FF E4 E1 moccasin FF E4 B5

navajowhite FF DE AD navy 00 00 80

oldlace FD F5 E6 olive 80 80 00

olivedrab 6B 8E 23 orange FF A5 00

orangered FF 45 00 orchid DA 70 D6

palegoldenrod EE E8 AA palegreen 98 FB 98

paleturquoise AF EE EE palevioletred DB 70 93

papayawhip FF EF D5 peachpuff FF DA B9

peru CD 85 3F pink FF C0 CB

plum DD A0 DD powderblue B0 E0 E6

purple 80 00 80 red FF 00 00

rosybrown BC 8F 8F royalblue 41 69 E1

saddlebrown 8B 45 13 salmon FA 80 72

sandybrown F4 A4 60 seagreen 2E 8B 57

seashell FF F5 EE sienna A0 52 2D

silver C0 C0 C0 skyblue 87 CE EB

slateblue 6A 5A CD slategray 70 80 90

snow FF FA FA springgreen 00 FF 7F

steelblue 46 82 B4 tan D2 B4 BC

teal 00 80 80 thistle D8 BF D8

tomato FF 63 47 turquoise 40 E0 D0

violet EE 82 EE wheat F5 DE B3

white FF FF FF whitesmoke F5 F5 F5

yellow PF FF 00 yelllowgreen 9A CD 32


Tipuri de date

Desi am discutat deja tipurile esentiale de date pe care le puteti atribui variabilelor, ar trebui sa stiti ca functiile si obiectele sunt tipuri speciale de date. Ele ofera modalitati interesante pentru stocarea si manipularea datelor pe care le trateaza scripturile. In capitolul 'Functii' veti invata cum sa profitati de aceste avantaje ale limbajului

Expresii

O expresie este un set de instructiuni care, ca grup, este evaluat la o valoare unica. Aceasta valoare rezultata este dupa aceea clasificata de JavaScript ca unul dintre urma­toarele tipuri de date: boolean, number, string, function sau object.

O expresie poate fi foarte simpla - un numar sau o variabila - sau poate grupa mai rnulte variabile, cuvinte-cheie si operatori. De exemplu, expresia x = 10 atribuie va­loarea 10 variabilei x. Expresia ca intreg este evaluata la 10, astfel ca este corect sa fie folosita intr-o linie de program cum ar fi:

document.writeln(x = 10).

JavaScript ar prefera sa vada un sir intre paranteze si sa-1 afiseze pur si simplu, dar in cazul acesta are de muncit inainte sa treaca mai departe. Mai intai trebuie sa evalueze ce se gaseste intre paranteze si apoi sa afiseze valoarea. In cazul acesta, este afisat numarul 10.

O data ce s-a atribuit 10 lui x, urmatoarea expresie este de asemenea corecta: x. In acest caz, JavaScript nu trebuie decat sa citeasca valoarea din memoria calculatorului; nu mai trebuie sa efectueze nici o atribuire. Pe langa operatorul de atnbuire, exista multi alti operatori pe care-i puteti folosi pentru a forma o expresie (asa cum veti vedea in capitolul 'Operatori').

Comentarii

Pana acum am folosit etichetele de comentarii HTML pentru a incadra scripturi, care asigura ca vechile browsere nu afiseaza scripturi pe care nu le pot executa. Dar daca doriti sa plasati in codul dumneavoastrd comentarii pe care JavaScript sa le ignore? Cele doua solutii de care dispuneti sunt metode folosite in limbajele C/C++ si Java. Sintaxa este:

//Here is a single line comment

Cele doua caractere slash consecutive (//) ascund textul care urmeaza pana la capatul liniei curente. Pentru blocuri de comentarii mai mari, puteti folosi sintaxa cu mai multe linii. Pentru aceasta, folositi:

/*Use this method to contain multiple lines

of comments */

In ambele tipuri de comentarii spatiile sunt ignorate si, de aceea, oricare dintre urma­toarele linii de comentariu este o formulare corecta:

//Comments

/*Multiple lines

comments

Listingul 5,4 demonstreaza utilizarea oricarui tip de comentariu. Doua caractere slash consecutive nu ascund codul de browserele mai vechi. Pentru a evita sa le dati batai de cap, continuati sa intrebuintati < ! -- si --> ca sa va incadrati toate scripturile. Asa cum se vede nici un comentariu din listingul 5.5 nu este afisat.


5.4 Folosirea etichetelor pentru comentarii in JavaScript


<html>

<head>

<title>Folosirea etichetelor pentru comentarii in JavaScript </title>

</head>

<body> <script type='text/javascript'>

// Folosirea etichetelor pentru comentarii in JavaScript

// Variables

var firstName = 'Jon';

var lastName = 'Simpson';

var internetAddress = 'jsimpson@company.com';


Display the user's first and last name

along with their e-mail address.


//Combinarea stringurilor

document.writeln(firstName + ' ' + lastName + '<br>');

document.writeln('e-mail address: ' + internetAddress);

//-->

</script>

</body>

</html>


Deoarece puteti ascunde codul de JavaScript, aveti posibilitatea de a introduce comentarii in scripturi. Unul dintre bunele obiceiuri ale programatorilor este sa includa in codul lor insemnari privind conceptia, indicatii sau avertizari, ceea ce ii poate ajuta, pe ei si pe altii, sa-si dea seama ce trebuie sa realizeze diversele sectiuni ale programului.

O alta utilizare a comentariilor este asociata depanarii scripturilor. Va puteti ascunde codul pentru a depista eventualele probleme si apoi sa+l inlocuiti cand ati terminat, pur si simplu indepartand identificatorii de comentarii. Procedand astfel in loc sa stergeti parti ale programului, economisiti timp.


Functii

In forma ei cea mai simpla, o functie este un script pe care-1 puteti apela oricand folosindu-i numele. In felul acesta, capacitatile limbajului JavaScript sporesc in doua modalitati. Cand un document HTML este chit de un browser Web care accepta JavaScript, browserul va gasi orice scripturi inglobate si va executa instructiunile pas cu pas. Pana aici totul este perfect, in afara de cazul in care preferati ca o parte sau tot programul sa astepte inainte de executare. O modalitate excelenta de a stabili rularea unui script la un moment ulterior este sa scrieti aceasta parte din program intr-o functie si sa-i atribuiti un nume.

Cand are loc un eveniment specific, puteti rula scriptul, folosind numele pe care 1-ati atribuit functiei. Alt avantaj al functiilor il reprezinta capacitatea de refolosire a scripturilor fara sa scrieti in mod repetat aceleasi linii de cod. In loc sa procedati in felul acesta puteti folosi pur si simplu numele atribuit functiei pentru a executa codul continut in ea. Listingul 5.5 prezinta modul in care JavaScript executa o functie. Primul lucru de care trebuie tinut seama este locul unde este declarata functia. Functiile trebuie declarate la fel ca si celelalte variabile. Aveti grija sa includeti toate declaratiile de functii intre etichete <scriapt>.


NOTA:Se recomanda declararea functiilor in blocul <head> al documentului HTML. In felul acesta va asigurati ca functia este incarcata de browser inainte de a fi executata Se recomanda de corpul documentului.


Pentru a folosi functia, plasati pur si simple numele ei oriunde in program. Programul principal este introdus in corpul documentului si este plasat intre propriile sale etichete <script>. In exemplul urmator puteti vedea felul in care trateaza situatia browserul.


LISTINGUL 5.5 Inglobarea unei functii JavaScript


<html>

<head>

<title>JavaScript Unleashed</title>

<script type='text/javascript'>

<!--

function displayMessage()

// -- >

</script>

</head>

<body>

<script type='text/javascript'>

<!--

document.write('Pas 1 <p>');

displayMessage();

document.write('Pas 3. ');

//document.write('</p>Pas 3.

//-- >

</script>

</body>

</html>


Incepand cu scriptul principal, JavaScript execute prima linie ca intotdeauna si apoi ajunge la apelarea functiei displayMessage (). Cauta functia in memorie si incepe cu prima linie din displayMessage (). Dupa ce scrie JavaScript functions are easy to use!, este afisat un sfarsit de linie. Se ajunge la sfarsitul functiei si executarea programului revine acolo unde remasese in scriptul principal.

Dupa cum se vede in figura 5.5, fiecare linie de text este afisata in aceasta succesiune. Daca aveti un program lung care afiseaza mesajul acesta de multe ori, puteti insera apelarea functiei oriunde este necesar. Daca ulterior apare nevoia actualizarii mesajul, ajunge sa modificati mesajul intr-un singur loc. Modificati-1 in declararea functiei si toata aplicatia dumneavoastra va fi actualizata. Despre functii si avantajele lor veti invata mai multe in capitolul 'Structuri de control si cicluri'.


Rezumat

JavaScript constituie o anexa exceptionala la setul de instrumente al autorilor de aplicatii pentru Web. Limbajul face posibile lucruri pe care nu le pot realiza CGI, modul plug-in si Java. El ofera interactiune directa cu utilizatorul in timp ce este vizualizat documentul HTML.

Scripturile sunt amplasate direct in documente. Pentru ca browserul, sau JavaScript in sine sa ignore anumite sectiuni din Scripturi, folositi tipurile corecte de comentarii.

Incepand cu prima linie de cod, interpretorul JavaScript citeste scriptul linie cu linie.

Tokenurile sunt cele mici cuvinte, expresii sau caractere individuale pe care limbajul le poate intelege. Tokenurile pot fi elemente literale, identificatori sau operatori. Tipurile de date disponibile sunt boolean, number, string, function. Ele pot stoca un singur tip de date la un moment dat. Pentru a declara o variabila, folositi cuvantul-cheie var sau pur si simplu initializati variabila. Incercati sa atribuiti nume usor de citit, semnificative variabilelor, pentru ca scripturile dumneavoastra se fie mai usor de citit.

O expresie este un set de instructiuni care este evaluat la o singura valoare. Expresiile cele mai uzuale atribuie valori variabilelor. Operatorul de atribuire, =, este folosit ca se atribuie variabilei (operandul din stanga) valoarea operandului din dreapta. JavaScript la toate operatiile matematice standard, fie prin intermediul operatorilor, fie recunoasterea prin intermediul obiectului incorporat math. Folositi comentariile pentru a introduce observatii in scripturile dumneavoastra. In felul acesta, intretinerea lor va fi mai simpla pentru dumneavoastra sau pentru altii.

Operatorii sunt simboluri sau identificatori ce reprezinta modalitatea in care este evaluata sau manipulata o combinatie de expresii.

Functiile sunt scripturi pe care le puteti executa oricand, inainte sau dupa ce un docu­ment HTML este vizualizat de utilizator. Folosind functiile, puteti stabili ca un script se fie executat oricand doriti si oricat de des doriti.



Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright

stiinta

Informatica



Access
Autocad
Baze de date
C
Calculatoare
Catia
Excel
Foxpro
Grafica design
Html
Internet
Java
Linux
Mathcad
Matlab
Oracle
Outlook
Photoshop
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Esee pe aceeasi tema


Elemente fundamentale ale limbajului JavaScript
Aplicatii - nnmodel
Algoritmi fundamentali de sortare



Ramai informat
Informatia de care ai nevoie
Acces nelimitat la mii de documente, referate, lucrari. Online e mai simplu.

Contribuie si tu!
Adauga online proiectul sau referatul tau.