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




category
Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Curs – Programare WEB



Curs – Programare WEB


Curs – Programare WEB



OBIECTE DE NIVELUL AL TREILEA


Urmatorul nivel de obiecte continute de JavaScript pe partea de client este nivelul al treilea. Toate obiectele de acest nivel sunt de fapt subobiecte ale obiectului 'Form'. In mod asemanator imbricarii elementelor HTML in interiorul etichetelor <form>, initiala si finala, aceste obiecte sunt imbricate in interiorul obiectului 'Form'.



OBIECTUL 'Button'


Limbajul JS are trei obiecte de tip buton : 'Button', 'Submit' si 'Reset'. Fiecare dintre ele are o reprezentare obiect a unei etichete HTML. Obiectul 'Button' este un buton generic, caruia trebuie sa ii adaugam linii de cod pentru a fi util, in timp ce celelalte doua au scopuri specifice predefinite. Este posibil totusi sa folosim un obiect 'Button' pentru a juca acelasi rol ca obiectul 'Submit' sau 'Reset' - apeland 'Form.submit()' sau 'Form.reset()'.

Tabelul de mai jos contine metodele si proprietatile obiectului 'Button'.


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza butonul


click()

apeleaza un eveniment 'click' pentru butonul respectiv


focus()

activeaza un buton


handleEvent()

transfera un eveniment handlerului de eveniment corspunzator

Proprietati

form

intoarce obiectul 'Form' al carui membru este butonul


name

intoarce sirul specificat in atributul 'name' al etichetei HTML <input>


type

intoarce sirul specificat in atributul 'name' al etichetei HTML <input>. Acest sir este totdeauna 'button' pentru obiectul 'Button'


value

intoarce sirul care apare in reprezentarea grafica a unui buton

Tabelul 2.5 - 17



OBIECTUL 'Checkbox'


In programare un alt control standard din interfata cu utilizatorul - UI sau 'user interface' - este si caseta de validare. Ea permite utilizatorului sa specifice o valoare 'yes/no' sau 'true/false' prin executarea unui clic pe suprafata casetei respective.

Tabelul urmator contine proprietatile si metodele acestui obiect :



TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza caseta de validare


click()

apeleaza handlerul de eveniment 'onClick' al casetei de validare


focus()

activeaza caseta de validare


handleEvent()

transfera un eveniment la handlerul de eveniment corespunzator asociat cu caseta de validare

Proprietati

checked

intoarce o valoare booleana care determina daca este bifata caseta de validare


defaultChecked

intoarce o valoare booleana care pastreaza starea initiala a casetei de validare; aceasta valoare este stabilita cu atributul 'checked'


form

intoarce obiectul 'Form' al casetei de validare


name

intoarce un sir care este specificat in atributul 'type' al etichetei HTML <input>


type

intoarce un sir care este specificat in atributul 'type' al etichetei HTML <input>; acest sir este totdeauna 'checkbox' pentru acest obiect


value

intoarce o valoare returnata cand formularul este trimis

Tabelul 2.5 - 18



OBIECTUL 'FileUpload'


Acest obiect este echivalentul elementului de incarcare a fisierului in limbajul HTML. In JS nu putem intreprinde prea multe cu acest obiect; putem doar sa facem referire la proprietatile sale. De fapt obiectul 'FileUpload' nici nu are metode reale asupra carora sa putem evetual  actiona.

Tabelul urmator prezinta proprietatile obiectului :


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza caseta 'FileUpload'


focus()

activeaza caseta 'FileUpload'


handleEvent()

apeleaza handlerul prestabilit pentru evenimentul specificat


select()

selecteaza suprafata de introducere a datelor pentru caseta 'FileUpload'

Proprietati

name

contine valoarea atributului 'name' pentru caseta 'FileUpload'


form

face referire la obiectul 'Form' care contine caseta 'FileUpload'


type

contine valoarea atributului 'type' pentru caset 'FileUpload'


value

sir care specifica numele caii fisierului selectat

Tabelul 2.5 - 19



OBIECTUL 'Hidden'


Privit din punct de vedere logic acest obiect ar putea fi considerat ca fiind similar cu un obiect text cu o proprietate 'visible' stabilita la valoarea 'false'. El este folosit pentru stocarea valorilor ce trebuie transferate unei prelucrari de server in general. Obiectul 'Hidden' provine din limbajul HTML anterior introducerii pe scara larga a limbajelor de scriptare ca JavaScript - perioada in care nu existau variabile, tablouri sau obiecte care sa poata stoca unele valori in vederea efectuarii unor serii de operatii asupra lor.

In practica reala din ziua de azi acest obiect este destul de rar folosit dar - pentru a fi in concordanta cu restul lucrarii - vom prezenta si proprietatile acestui obiect :


PROPRIETATE

SEMNIFICATIE

form

specifica formularul care contine obiectul

name

contine numele obiectului 'Hidden'

type

contine valoarea atributului 'type' al obiectului 'Hidden'

value

contine valoarea atributului 'value'  al obiectului 'Hidden'

Tabelul 2.5 - 20



OBIECTUL 'Password'


Si acest obiect este inrudit cu obiectul de tip text. Singura diferenta intre cele doua obiecte este ca toate caracterele introduse in acest obiect sunt afisate ca stelute, pentru a le ascunde valoarea.

Tabelul de mai jos prezinta metodele si proprietatile obiectului 'Password' :


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza caseta pentru parola


focus()

activeaza caseta pentru parola


handleEvent()

apeleaza handlerul prestabilit pentru evenimentul specificat


select()

selecteaza textul introdus in caseta pentru parola

Proprietati

defaultValue

face referire la atributul 'value' al casetei pentru parola HTML


form

face referire la formularul care contine caseta pentru parola


name

face referire la atributul 'name' al casetei pentru parola HTML


type

face referire la atributul 'type' al casetei pentru parola HTML


value

face referire la continutul curent al casetei pentru parola

Tabelul 2.5 - 21



OBIECTUL 'Radio'


Controalele de tip buton radio au ca si caracteristica definitorie capacitatea de a se exclude reciproc; astfel, daca este selectat un buton radio toate celelalte butoane din set sunt neselectate. Obiectul 'Radio' asigura acest element intr-un formular HTML. Setul de butoane radio este definit acordand tuturor butoanelor aceeasi proprietate 'name'.

Dupa cum ne-am obisnuit prezentam in continuare un tabel cu toate proprietatile si metodele obiectului de tip 'Radio' :



TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza obiectul


click()

simuleaza executarea unui click pe buton


focus()

activeaza butonul


handleEvent()

apeleaza handlerul prestabilit pentru evenimentul specificat

Proprietati

checked

specifica daca un buton este sau nu bifat


defaultChecked

face referire la atributul 'checked' al etichetei HTML <input>


form

face referire la obiectul 'Form' care contine obiectul 'Radio'


name

face referire la atributul 'name' al etichetei HTML <input>


type

face referire la atributul 'type' al etichetei HTML <input>


value

face referire la atributul 'value' al etichetei HTML <input>

Tabelul 2.5 - 22



OBIECTUL 'Reset'


Acest obiect a fost adaugat in JS de la introducerea versiunii 1.2.

Atunci cand este apasat obiectul declanseaza un eveniment care restabileste toate valorile campurilor dintr-un formular la asa numitele valori default - initiale.

Mai jos avem metodele si proprietatile obiectului 'Reset' :



TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza butonul


click()

simuleaza executarea unui clic pe buton


focus()

activeaza butonul


handleEvent()

transfera un eveniment handlerului de eveniment corespunzator

Proprietati

form

intoarce obiectul 'Form' al carui membru este butonul


name

contine atributul 'name' pentru  buton


type

contine atributul 'type' pentru buton


value

contine atributul 'value' pentru buton

Tabelul 2.5 - 23



OBIECTUL 'Submit'


Atunci cand este apasat un buton de acest tip se declanseaza un eveniment care trimite toate valorile dintr-un formular spre programul specificat in atributul 'action' al tag-ului <form>.

In continuare putem vedea metodele si proprietatile acestui obiect :


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza butonul


click()

simuleaza executarea unui clic pe buton


focus()

activeaza butonul


handleEvent()

apeleaza handlerul pentru evenimentul specificat

Proprietati

form

intoarce intregul formular in care sa afla butonul


name

intoarce numele butonului, specificat in atributul 'name'


type

intoarce tipul de buton specificat prin atributul 'type'; pentru acest buton totdeauna va fi intors sirul 'submit'


value

intoarce valoarea acestui buton 'submit', specificata prin atributul 'value'

Tabelul 2.5 - 24



OBIECTUL SELECT


Intre controalele cel mai des utilizate in paginile web se afla lista derulanta si caseta cu lista de selectie. Diferenta principala dintre ele este acea ca utilizatorul poate selecta o singura valoare din lista derulanta dar poate selecta mai multe valori dintr-o lista de selectare.

Obiectul 'Select' incapsuleaza comportamentul ambelor elemente. Cu alte cuvinte el poate apare ca lista derulanta ( cu comportament prestabilit ) sau ca lista de selectare ( daca proprietatea 'multiple' este stabilita la 'true' ).

In continuare avem toate metodele si proprietatile acestui obiect :


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza caseta de selectare


focus()

activeaza caseta de selectare


handleEvent()

apeleaza handlerul pentru evenimentul specificat

Proprietati

form

intoarce intregul formular in care se afla caseta de selectare


length

intoarce numarul de optiuni din caseta de selectare


name

intoarce numele casetei de selectare, specificat cu atributul 'name'


options

intoarce un tablou continand toate elementele din caseta de selectare; aceste elemente sunt create folosind eticheta HTML <option>; pentru aceasta proprietate avem si subproprietatile 'length' si 'selectedIndex'


selectIndex

intoarce un numar intreg specificand indicele optiunii selectate din caseta de selectare


type

intoarce tipul casetei de selectare,specificat prin atributul 'type'. Pentru instantele <select> care contin atributul 'multiple' proprietatea intoarce 'select-multiple' in timp ce instantele fara acest atribut returneaza 'select-one'

Tabelul 2.5 - 25



OBIECTUL 'Text'


Desi nu cel mai spectaculos elementul principal pentru orice aplicatie de introducere de date este un camp de text. Obiectul 'Text' serveste ca instrument de captura a datelor, fiind reprezentarea tagului HTML de introducere a textului :

Mai jos avem si metodele si proprietatile acestui obiect :


TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza caseta de text


focus()

activeaza caseta de text


handleEvent()

apeleaza handlerul prestabilit pentru evenimentul specificat


select()

selecteaza textul din caseta de text

Proprietati

defaultValue

intoarce valoarea acestei casete de text, specificata de atributul 'value' - de mentionat ca browserele OPERA nu recunosc aceasta proprietate


form

intoarce intregul formular in care se afla caseta de text


name

intoarce numele acestei casete de text, specificat cu atributul 'name'


type

intoarce tipul casetei de text, specificat de atributul 'type'; pentru acest obiect totdeauna se va returna 'text'


value

intoarce valoarea care este afisata in caseta de text

Tabelul 2.5 - 26



OBIECTUL 'Textarea'


Acest obiect ne permite sa introducem mai multe linii de text, el fiind reprezentarea obiectului similar din limbajul HTML.

In continuare priviti metodele si proprietatile obiectului 'Textarea' :



TIP

ELEMENT

SEMNIFICATIE

Metode

blur()

dezactiveaza zona de text


focus()

activeaza zona de text


handleEvent()

apeleaza handlerul prestabilit pentru evenimentul specificat


select()

selecteaza textul din zona de text

Proprietati

defaultValue

intoarce valoarea acestei zone de text, definita intre tagurile <textarea> si </textarea> - de mentionat ca aceasta proprietate nu este recunoscuta in borwserele OPERA


form

intoarce intregul formular in care se afla zona de text


name

intoarce numele acestei zone de text, specificat prin atributul 'name'


type

intoarce tipul zonei de text; totdeauna pentru acest obiect rezultatul va fi 'textarea'


value

intoarce valoarea care este afisata in zona de text

Tabelul 2.5 - 27



OBIECTE DE NIVELUL AL PATRULEA


In practica, incepand cu versiunea 1.4 a limbajul JavaScript, avem un singur element de acest nivel : un subobiect al obiectului 'Select'.



OBIECTUL 'Option'


Acest obiect este folosit pentru referirea la diverse elemente <option> care apar intre tagurile <select> si </select>.

Proprietatile obiectului le putem analiza in continuare :



PROPRIETATE

SEMNIFICATIE

defaultSelected

face referire la optiunea care este selectata in mod prestabilit in caseta de selectare

index

face referire la lcatia indexata a unui element in tabloul 'Select.options'

selected

face referire la valoarea selectata a casetei de selectare

text

face referire la textul pentru optiune

value

face referire la valoarea care este intoarsa cand este selectata optiunea

Tabelul 2.5 - 28



OBIECTE esentiale ALE LIMBAJULUI


Tot capitolul anterior s-a axat pana acum pe prezentarea obiectele pe partea de client a JavaScript- acestea reprezentand de fapt nucleul limbajului; cu toate acestea, o importanta parte a dezvoltarii de programe mai complexe in JS o constituie lucrul cu asa numitele obiecte esentiale ale limbajului.

Acestea au avantajul de a fi compatibile in diverse implementari - Microsoft, Netscape, Sun sau Opera - si sunt considerate in afara ierarhiei de obiecte detaliate in capitolul anterior, ele referindu-se la alt tip de elemente decat cele care se refereau direct la partea vizibila direct, la rezultatul programarii.

In cele ce urmeaza vom detalia obiectele 'String', 'RegExp', 'Array', 'Date', 'Math', 'Boolean', 'Number' si 'Function'.



OBIECTUL 'String'


Este aproape superfluu sa mentionam casirurile reprezinta o parte esentiala a oricarui limbaj de programare. In JS un sir este  si un obiect, cu propriile sale metode si proprietati.


Pe masura dezvoltarii JSsirurile au dobandit tot mai multe capacitati.

Incepand cu versiunea 1.1 a JS s-a trecut la folosirea sirului ca obiect, creat prin comanda 'new'.

Metodele si proprietatile sirurilor apar in tabelul urmator :



TIP

ELEMENT

SEMNIFICATIE

Metode

anchor()

creaza o instanta a tagului <a>, cu atributul 'name' stabilit la sirul transferat metodei


big()

transforma sirul intr-o instanta a tagului <big>


blink

transforma sirul intr-o instanta a tagului <blink>


bold()

transforma sirul intr-o instanta a tagului <bold>


charAt()

intoarce caracterul de la indicele transferat metodei


charCodeAt()

intoarce numarul ISO-Latin-1 al caracterului de la indicele transferat metodei


concat()

concateneaza cele doua siruri transferate pentru a intoarce un nou sir


fixed()

transforma sirul intr-o instanta a tagului <tt>


fontcolor()

stabileste atributul 'color' al unei instante a tagului <font>


fontsize()

stabileste atributul 'size' al unei instante a tagului <font>


fromCharCode()

intoarce valoarea sir a numarului ISO-Latin-1 transferat metodei


indexOf()

intoarce indicele primei aparitii a sirului transferat metodei intr-o instanta a unui obiect 'String'


italics()

transforma sirul intr-o instanta a tagului <i>


lastIndexOf()

intoarce indicele ultimei aparitii a sirului transferat metodei intr-o instanta a unui obiect 'String'


link()

transforma sirul intr-o instanta a tagului <a> si stabileste atributul 'href' cu adresa URL care este transferata metodei


match()

intoarce un tablou continand potrivirile gasite, bazate pe expresia regulata transferata metodei


replace()

executa o cautare si o inlocuire folosind expresia regulata si inlocuieste sirul transferat metodei, in instanta unui 'String' care o apeleaza


search()

intoarce indicele potrivirii gasite in sirul transferat metodei; daca sirul nu este gasit se returneaza valoarea '-1'


slice()

intoarce sirul dintre indicii initial si final transferati metodei; daca este dat un numar negativ indicele este raportat de la sfarsitul sirului transferat


small()

transforma sirul intr-o instanta a tagului <small>


split()

intoarce sirul divizat in segmente definite de sir si limita instantei transferate metodei


strike()

transforma sirul intr-o instanta a tagului <strike>


sub()

transforma sirul intr-o instanta a tagului <sub>


substr()

intoarce sirul incepand cu locatia indicelui si numarul de caractere ce trebuie intoarse; daca este transferat un numar negativ indicele este raportat de la sfarsitul sirului transferat


substring()

intoarce sirul dintre indicii initial si final transferati metodei


sup()

transforma sirul intr-o instanta a tagului <sup>


toLowerCase()

transforma toate caracterele in litere mici


toSource()

intoarce reprezentarea tip sir a obiectului :String' transferat


toString()

intoarce caracterele transferate ca tip 'String'


toUpperCase

transforma caracterele in litere mari

Proprietati

length

intoarce lungimea unui sir


prototype

ofera capacitatea de a adauga proprietati instantelor obiectului 'String'

Tabelul 2.5 - 29



Sa luam un exemplu folosire a metodei 'indexOf()' pentru a gasi toate literele 'a' dintr-o fraza. Acest lucru se bazeaza pe existenta unui parametru optional - atat pentru'indexOf()' cat si pentru 'lastIndexOf()' - care ne permite sa specificam de unde anume din sir dorim sa incepem cautarea :


<script type='text/javascript'>

var pos=0;

var num=-1;

var i=-1;

var fraza='Fraza folosita pentru a contoriza aparitia literei a in cadrul unui sir';

while (pos!=-1)

document.write(fraza);

document.write('<hr size=3>');

document.write('Exista : '+num+' a-uri in fraza');

document.close();

</script>


In imaginea de mai jos puteti vedea si rezultatul acestui script, intr-o fereastra de browser :



Figura 2.5 - 5


Pentru a ne putea da seama de forta reala a acestor metode ale sirurilor trebuie sa le combinam pentru a putea rezolva diferite probleme.

Pentru a exemplifica mai bine acest fapt sa detaliem o functie de inlocuire a unui sir din interiorul unui alt sir. Pentru a folosi si mai multe elemente legate de tratarea JS a sirurilor sa profitam si de proprietatea 'prototype' a unui obiect 'String' pentru a adauga metoda 'replace()' tipului de obiect 'String' :



<head>

<script type='text/javascript'>

String.prototype.replace=stringReplace;

function stringReplace(findText,replaceText)

return originalString;


</script>

</head>

<body>

<script type='text/javascript'>

var origString=new String('Alexandru');

var findString=new String('xan');

var replaceString=new String('BBB');

var resultString=origString.replace(findString,replaceString);

document.write('Textul original era :'+origString+'<br>');

document.write('S-a cautat textul : '+findString+'<br>');

document.write('S-a inlocuit cu : '+replaceString+'<hr size=3>');

document.write('Rezultatul este : '+resultString);

</script>

</body>



Scriptul de mai sus implementeaza o noua metoda pentru obiectul 'String' - metoda replace(); rezultatul scriptului de mai sus este :



Figura 2.5 - 6



Pentru a prezenta cat mai clar optiunile de formatare a unui text in JavaScript sa studiem si scriptul urmator; acesta ne va permite sa selectam tipul de formatare pe care il dorim pentru textul nostru pe care il vom introduce si va afisa rezultatul formatat ca urmare a dorintei utilizatorului :



<head>

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

function fereastraNoua()

</script>

</head>

<body>

<hr>

<form method='post' name='form1'>

<p> sir :

<input type=text size=40 maxlength=256 name='stringField'></p>

<p> Stilul de formatare :

<input type=checkbox name='bigBox' value='ON'>Big

<input type=checkbox name='blinkBox' value='ON'>Blink

<input type=checkbox name='boldBox' value='ON'>Bold

<input type=checkbox name='fixedBox' value='ON'>Fixed

<input type=checkbox name='italicsBox' value='ON'>Italice

<input type=checkbox name='smallBox' value='ON'>Small

<input type=checkbox name='strikeBox' value='ON'>Strike

<input type=checkbox name='subBox' value='ON'>Subscript

<input type=checkbox name='supBox' value='ON'>Superscript

</p>

<p> Font :

Color :

<select name='colorList' size=1>

<option selected>black</option>

<option>yellow</option>

<option>pink</option>

<option>red</option>

<option>blue</option>

</select>

Size :

<select name='sizeList' size=1>

<option selected>1</option>

<option>2</option>

<option>3</option>

<option>4</option>

<option>5</option>

<option>6</option>

<option>7</option>

</select>

</p>

<input type='button' name='Show' value='Prezinta rezultat' onClick='fereastraNoua()'>

</form>

</body>


Scriptul de mai jos produce in fereastra browserelor un document continand un formular. Presupunand ca am introdus textul 'Alexandru' si ca am bifat optiunea 'Strike' si am ales dimensiunea fontului 7 si culoarea rosie obtinem macheta ecran :



Figura 2.5 - 7



Apasand butonul din formular vom obtine urmatorul efect :


Figura 2.5 - 8



CARACTERE SPECIALE


Desi problematica acestor caractere a mai fost abordata si anterior vom mai reveni cu cateva detalii succinte pentru a arata si folosirea in practica, direct in cod sursa a acestora.

Ca si in alte limbaje de programare si JavaScript ne permite sa lucram cu anumite caractere care sunt folosite in acelasi timp si de limbaj pentru a desemna anumite operatii. Pentru a utiliza aceste caractere trebuie sa folosim un caracter backslash ( ) urmat de caracterul respectiv sau de codul sau.

Aceste simboluri ce trebuie folosite cu backslash pentru a fi incluse in siruri sunt :


SIMBOL

SEMNIFICATIE

t

tab

n

linie noua

r

retur de car

f

salt de pagina


backslash

b

deplasare cu un spatiu la stanga


ghilimele


apostrof

Tabelul 2.5 - 30



In practicase foloseste o metoda considerata utila de multi programatori. Simbolurile de mai sus sunt atribuite unor variabile :


<script type='text/javascript'>

var TAB='t';

var CR='r';

var LF='n';

var CRLF='rn';

var FF='f';

var GHILIMELE=''';

var APOSTROF=''';

var BACKSLASH='';

var BACKSPACE='b';

</script>


In cazul in care trebuie sa transformam o valoare non alfanumerica intr-o valoare ASCII putem folosi metoda JS escape().


escape('Text de proba pentru tilda~');


Linia de cod de mai sus are ca efect intoarcerea valorii :


Text%20de%20proba%20pentru%tilda%20%7E


In cazul contrar, cand trebuie sa transformam un sir codificat ASCII - de exemplu venit de la server - putem folosi metoda unescape() care returneaza valoarea in clar a sirului codificat ASCII.



CONVERSIA sirurilor si NUMERELOR


JavaScript ofera doua metode incorporate pentru a transformasirurile in numere : 'parseInt()' si 'parseFloat()'. Ambele functii preiau ca parametru siruri si le transforma in valori numerice de tip intreg si respectiv in virgula mobila.


var sir=new String('123.456');

document.write(parseInt(sir));


Acest cod are ca efect afisarea valorii '123'.


In cazul in care incercam sa transformam in numar o valoare care nu se preteaza la asa ceva functiile returneaza 'NaN' - not a number -, ca in cazul urmator :


var sir=new String('$123.456');

document.write(parseFloat(sir));


Pentru conversia din numere in siruri avem mai multe metode; in versiunile de JS incepand cu 1.3 avem metoda dedicata 'toString()' in timp ce in versiunile anterioare ne puteam baza pe felul in care proceseaza JS operatorul '+'.

In cazul in care JS intalneste un sir in timp ce aduna elementele unei expresii, din acel moment intreaga expresie este tratata ca un sir.



OBIECTUL 'RegExp'


Acest obiect ne permite sa executam functii de expresii regulate asupra sirurilor.

Deoarece folosirea acestui obiect necesita o abordare foarte detaliata - care ar iesi din tiparul si scopul acestei lucrari vom prezenta in continuare doar o lista a caracteristicilor sale, urmand ca pe parcursul lucrarii - punctual - in momentele cand apar referiri la el sa detaliem diferite problematici legate de acesta.


TIP

ELEMENT

SEMNIFICATIE

Metode

compile()

compileaza expresia regulata pentru o executie mai rapida


exec()

executa cautarea pentru o potrivire intr-un sir specificat


test()

testeaza o potrivire a sirului

Proprietati

RegExp,$*

reprezinta multiline


RegExp.$&

reprezinta lastmatch


RegExp.$_

reprezinta input


RegExp.$

reprezinta leftContext


RegExp.$'

reprezinta rightContext


RegExp.$+

reprezinta lastParen


RegExp.$1,$2$9

reprezinta un subsir de potrivir


global

specifica daca expresia trebuie verificata pentru toate potrivirile posibile


ignoreCase

specifica daca in timpul unei cautari in sir trebuie ignorat tipul literelor


input

sirul care este comparat pentru potrivire


lastIndex

specifica indicele de la care sa se porneasca potrivirea urmatorului sir


lastMatch

ultimele caractere potrivite


lastParen

ultima potrivire subsir dintre paranteze


leftContext

subsirul care preceda cea mai recenta potrivire


multilinie

specifica daca sa se caute pe mai multe linii


rightContext

subsirul care urmeaza celei mai recente potrivir


source

tiparul sir

Tabelul 2.5 - 31



OBIECTUL 'Array'


Array este denumirea in limba engleza a tablourilor. Un tablou este un container de elemente. Fiecare element dintr-un tablou este o valoare separata, totusi elementele exista ca parte a tabloului si nu pot fi accesate decat prin parcurgerea acestuia.

Metodele si proprietatile acestui obiect sunt prezentate mai jos :


TIP

ELEMENT

SEMNIFICATIE

Metode

concat()

concateneaza elementele transferate intr-un tablou existent


join()

concateneaza toate elementele unui tablou intr-un singur sir


pop()

sterge ultimul element din tablou


push()

adauga elemente la sfarsitul unui tablou


reverse()

inverseaza ordinea elementelor din tablou


shift()

sterge elemente de la inceputul unui tablou


slice()

intoarce o subsectiune a tabloului


sort()

sorteaza elementele tabloului


splice()

insereaza si inlatura elemente dintr-un tablou


toSource()

transforma elementele intr-un sir cu paranteze drepte


toString()

transforma elementele dintr-un tablou intr-un sir


unshift()

adauga elemente la inceputul unui tablou


valueOf()

intoarce un tablou de elemente separate prin virgula

Proprietati

index

pentru un tablou creat de potrivirea unei expresii regulate, intoarce locatia indexata a potrivirii


input

pentru un tablou creat de potrivirea unei expresii regulate intoarce sirul initial


length

numarul de elemente din tablou


prototype

ofera capacitatea de a adauga proprietati instantelor obiectului 'Array'

Tabelul 2.5 - 32



JavaScript este un limbaj foarte aparte in ceea ce priveste tratarea elementelor tablourilor - elementele unui tablou pot fi de tipuri diferite.


Pentru a crea instante ale unui obiect tablou folosim 'new' :


var marca=new Aray();

marca[0]='Volvo';

marca[1]='Mercedes';

marca[2]='Fiat';


O alta modalitate de definirea unui astfel de obiect este specificarea elementelor ca parametri ai apelului 'new' :


var marca=new Array('Volvo','Mercedes','Fiat');


Desi nu este necesara declararea dimensiunii tabloului exista si posibilitatea de a-i da acestuia o valoare initiala :


var marca=new Array[3];


In cazul in care definim un elemente de tablou cu indexul 'i' mai mare decat dimensiunea actuala a tabloului, automat marimea tabloului creste la 'i+1'. Un element nedefinit va returna o valoare nula in cazul in care este accesat.



OBIECTUL 'Date'


Acest obiect da posibilitatea lucrului cu ore si date calendaristice.

Trebuie sa mentionam ca JS ia data de referinta 1 ianuarie 1970 - nu putem lucra cu date anterioare acesteia. De asemenea trebuie acordata atentie faptului ca obiectul 'Date' este creat pe baza orei calculatorului client si JS tine evidenta valorilor ora/data in milisecunde, incepand cu data sa de referinta.


Acest obiect contine o multime de metode si proprietati :


TIP

ELEMENT

SEMNIFICATIE

Metode

getDate()

intoarce data din luna ( intre 1 si 31 )


getDay()

intoarce ziua din saptamana ( intre 1 si 7 )


getFullYear()

intoarce anul cu patru cifre


getHours()

intoarce ora din zi ( intre 0 si 23 )


getMilliseconds()

intoarce milisecundele


getMinutes()

intoarce minutele ( intre 0 si 59 )


getMonth()

intoarce luna ( intre 0 si 11 )


getSeconds()

intoarce secundele din minut ( intre 0 si 59 )


getTime()

intoarce milisecundele scurse de la data de referinta


getTimeZoneOffset()

intoarce decalajul de minute fata de GMT/UTC


getUTCDate()

intoarce ziua din luna


getUTCDay()

intoarce saptamana din luna transpusa in timp universal


getUTCFullYear()

intoarce o reprezentare de patru cifre a anului transpus in timp universal


getUTCHours()

intoarce ora transpusa in timp universal


getUTCMilliseconds()

intoarce milisecundele trasnpuse in timp universal


getUTCMinutes()

intoarce minutele transpuse in timp universal


getUTCMonth()

intoarce luna transpusa in timp universal


getUTCSeconds()

intoarce secundele transpuse in timp universal


getYear()

intoarce numarul anilor scursi de la 1900


parse()

transforma in milisecunde datele de tip sir transferate


setDate()

stabileste data din luna


setFullYear()

stabileste anul ca numar de patru cifre


setHours()

stabileste ora din zi


setMilliseconds()

stabileste milisecundele


setMinutes()

stabileste minutul din ora


setMonth()

stabileste luna


setSeconds()

stabileste secundele


setTime()

stabileste milisecundele scurse de la 1/1/1970, ora 00:00:00


setUTCDate()

stabileste ziua luni in timp universal


setUTCFullYear()

stabileste anul ca numar de patru cifre in timp universal


setUTCHours()

stabileste ora in timp universal


setUTCMilliseconds()

stabileste milisecundele in timp universal


setUTCMinutes()

stabileste minutele in timp universal


setUTCMonth

stabileste luna in timp universal


setUTCSeconds()

stabileste secundele in timp universal


setYear()

stabileste numarul de ani scursi de la 1900


toGMTString()

intoarce sirul de date in format universal


toLocalString()

intoarce sirul de date in formatul sistemului local


toSource()

intoarce sursa obiectului 'Date'


toString()

intoarce ora si data ca sir in timpul local


toUTCString()

intoarce ora si data ca sir in timp universal


UTC()

transforma valorile delimitate prin virgule in milisecunde conform timpului universal UTC


valueOf()

intoarce echivalentul obiectului 'Date' in milisecunde

Proprietate

prototype

permite adaugarea de metode si proprietati obiectului 'Date'

Tabelul 2.5 - 33



Definirea unui obiect 'Date' se poate face astfel :


var variabilaDate=new Date(parametri);


Lista parametrilor care pot fi transmisi la crearea acestor instante ale obiectului 'Date' :


PARAMETRU

SEMNIFICATIE

EXEMPLU

nimic

creaza un obiect cu data si ora curenta

var azi=new Date()

'month dd,yyyy hh:mm:ss'

creaza un obiect cu data si ora specificate in sir - valorile omise sunt setate automat la zero

var ziua=new Date('September 13,2000')

yy,mm,dd

creaza un obiect cu data specificata in setul de valori numere intregi

var ziua=new Date(00,1,0)

yy,mm,dd,hh,mm,ss

creaza un obiect cu data si ora specificate in setul de valori - cu datele omise setate pe 0

var ziua=new Date(00,7,12,7,10,29)

Tabelul 2.5 - 34



OBIECTUL 'Math'


In cazul in care avem nevoie sa implementam operatii si formule matematice in cadrul programelor noastre scrise in JS putem folosi un obiect dedicat acestui scop. JavaScript incapsuleaza o serie de constante si proceduri intr-o singura entitate : obiectul 'Math'. Acesta difera de alte obiecte esentiale destul de mult. Putem efectua calculele aritmetice elementare in exteriorul unui obiect 'Math', astfel ca, daca nu avem nevoie de functii matematice mai elevate este posibil sa nu prea folosim acest obiect.

Obiectul 'Math' nu este creat din mers ci lucram cu o instanta esentiala a sa, prezenta permanent. De aceea acest obiect se numeste 'static'.


Proprietatile si metodele obiectului sunt prezentate mai jos :


TIP

ELEMENT

SEMNIFICATIE

Metode

abs()

valoarea absoluta


acos()

arccosinus in radiani


asin()

arcsinus in radiani


atan()

arctangenta in radiani


atan2()

arctangenta in radiani a coeficientului valorii transferate


ceil()

urmatorul numar intreg mai mare sau egal cu valoarea transferata


cos()

cosinus


exp()

constanta lui Euler la puterea valorii transferate


floor()

urmatorul numar intreg mai mic sau egal


log()

logaritmul natural in baza e al valorii date


max()

numarul cel mai mare dintre doua valori date


min()

numarul cel mai mic dintre doua numere date


pow()

primul numar dat ridicat la o putere egala cu al doilea numar


random()

numar aleator intre 0 si 1


round()

rotunjire la cel mai apropiat intreg


sin()

sinusul


sqrt()

radacina patrata


tan()

tangenta valorii date


toSource()

copia unui obiect


toString()

reprezentarea de tip sir a unui obiect

Proprietati

E

constanta lui Euler ( 2,718281828459045 )


LN2

logaritm natural din 2


LN10

logaritm natural din 10


LOG2E

logaritm in baza 2 din E


LOG10E

logaritm in baza 10 din E


PI

numarul pi


SQRT1_2

radical din 0.5


SQRT2

radical din 2

Tabelul 2.5 - 35



OBIECTUL 'Boolean'


Acest obiect are scopul de a transforma o valoare non-booleana intr-una booleana. dupa aceea putem folosi acest obiect ca si cum ar fi o valoare booleana normala.


var obiectBoolean=new Boolean(valoare);


Parametrul 'valoare' specifica starea initiala a obiectului. Daca el este false, 0, null sau un sir gol ( '' ), ori daca este omis se implica o valoare 'false'. Toate celelalte valori vor stabili obiectul la 'true'.

Tabelul urmator prezinta metodele si proprietatile obiectului 'Boolean' :


TIP

ELEMENT

SEMNIFICATIE

Metode

toString()

intoarce o reprezentare de tip sir a valorii Boolean elementare stocate in obiect

Proprietate

prototype

permite adaugarea de metode si proprietati obiectului

Tabelul 2.5 - 36



OBIECTUL 'Number'


In acest caz avem de-a face cu un obiect de tip - sa-i zicem 'generic'; el face cu valorile numerice ceea ce face 'String' pentru valorile de tip sir. Obiectul este util cand trebuie sa accesam anumite valori constante, plus si minus infinit sau valoarea 'NaN'.

Mai jos avem lista de proprietati si metode ale obiectului :


TIP

ELEMENT

SEMNIFICATIE

Metode

toSource()

intoarce o reprezentare de tip sir a obiectului 'Number'


toString()

intoarce un sir reprezentand obiectul 'Number' specificat


valueOf()

intoarce valoarea elementara a unui obiect 'Number' sub forma unui tip de date numerice

Proprietati

MAX_VALUE

cel mai mare numar care poate fi reprezentat ( 1,7976931348623167e+308 )


MIN_VALUE

cel mai mic numar care poate fi reprezentat ( 5e-324 )


NaN

valoare speciala Not-a-number


NEGATIVE_INFINITY

valoare speciala minus infinit - returnata in caz de depasire


POSITIVE_INFINITY

valoare speciala infinit - returnata in caz de depasire


prototype

permite adaugarea de proprietati si metode obiectului

Tabelul 2.5 - 37



OBIECTUL 'Function'


Acest obiect este ultimul obiect esential al limbajului JavaScript. El ne permite sa definim un sir in timpul rularii si sa-l compilam ca pe o functie. Iara sintaxa pentru declararea unui obiect de acest tip :


functieNumeObiect = new Function ( arg1,, argn, functionBody);


Trebuie sa mentionam ca un obiect 'Function' si o functie JS standard sunt similare pana la un punct, avand insa si anumite diferente importante. Numele de obiect al unui astfel de obiect este considerat o variabila reprezentand valoarea curenta a functiei definite cu 'new' in timp ce numele unei functii JS standard nu este o variabila ci doar numele unei functii.



OBIECTUL 'Global'


In finalul capitolului legat de obiecte trebuie sa introducem si acest concept. Pentru cei care au lucrat deja in limbajul JavaScript la un nivel macar mediu acest obiect poate apare surprinzator - ei nu l-au intalnit! Totusi va asigur ca exista.

Povestea acestui obiect incepe in perioada cand organizatia ECMA studia inca standardul JavaScript. In acea perioada s-a constata ca firma Microsoft grupase unele proprietati si metode de cel mai inalt nivel in limbajul JavaScript intr-un nou obiect : 'Global'. Studiile detaliate au aratat ca si firma Netscape cunostea si utiliza obiectul iar rezultatul a fost ca organizatia ECMA l-a adoptat oficial, definindu-i si lista de metode si proprietati - pe care de altfel le-am intalnit si pana acum fara a detalia exact modul lor de existenta si utilizare :


TIP

ELEMENT

SEMNIFICATIE

Metode

escape()

intoarce un obiect 'String' in care toate caracterele non-alfanumerice sunt transformate in echivalentele lor numerice ASCII


eval()

accepta un sir de instructiuni JS si il evalueaza ca fiind cod sursa


isFinite()

determina daca o variabila are limite finite


isNaN()

determina daca o variabila este sau nu un numar


parseFloat()

transforma un sir in numar in virgula mobila


parseInt()

transforma un sir in numar intreg


unescape()

ia valoarea hexazecimala si intoarce echivalentul sau ASCII

Proprietati

Infinity

cuvant cheie care reprezinta plus infinit


NaN

reprezinta un obiect care nu este egal cu nici un numar

Tabelul 2.5 - 38




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