miercuri, 24 decembrie 2008

JavaScript

JavaScript este, dupa cum reiese si din numele sau, un limbaj de scripting. A aparut in 1995 fiind creatia lui Brendan Eich, care in aceea vreme lucra la Netscape (pe atunci cel mai popular browser). Denumirea de Java din numele limbajului nu are nici o treaba cu produsul celor de la Sun. Aceasta a fost adaugata din ratiuni strict legate de marketing.
Pana la aparitia JavaScript codul paginilor web dinamice era rulat numai pe server clientul urmand sa primeasca inapoi o pagina HTML modificata coresounzator. Acest lucru implica faptul ca un client facea o cerere catre un server, acesta prelucra cererea (executa orice cod dinamic), forma un raspuns continand pagina HTML generata anterior si o trimitea la client. Astfel o operatie simpla de validare a unui camp text (de exemplu verificarea ca acesta sa contina ceva) necesita un drum la server si inapoi. Daca pagina primita era destul de mare combinat cu niste conexiuni slabe la Internet, se pierdea timp si interactivitatea paginii web devenea din ce in ce mai scazuta.
Aparitia limbajului JavaScript a permis posibilitatea crearii paginilor dinamice al caror continut se modifica prin rularea de cod pe masina clientului. Codul era evident scris in JavaScript si trebuia ca browserul folosit sa cunoasca acest limbaj. Acum pentru verificarea unui camp text din pagina codul putea fi rulat de browser pe client fara a mai necesita o cerere catre server. Astfel a aparut termenul de client-side scripting (script rulat pe masina clientului) diferit de server-side scripting (script rulat pe server). Singura problema era ca browserul folosit sa cunoasca acest limbaj. Aceasta s-a rezolvat de la sine datorita cresterii masive in popularitate a JavaScript-ului, fiecare nou producator de browsere integrand-ul in produsul sau. Desigur nu se poate face orice cu JavaScript multe operatii necesitand executarea codului pe server. De aceea in prezent sunt folosite pagini web ce contin scripturi client-side si server-side.
Sintaxa JavaScript este destul de simpla. Variabilele nu au tipuri, din acest punct de vedere acesta nefiind un limbaj foarte type-safe, constructiile fiind uneori destul de rudimentare. Este case-sensitive. Daca se intalneste de exemplu o functie necunoscuta executa este oprita in acel punct Blocurile sunt delimitate de binecunoscutele acolade din alte limbaje ({}). JavaScript suporta si niste tipuri primitive de clase si de asemenea un obiect central in acest limbaj este document. Cu ajutorul acestuia se pot obtine referiri la toate obiectele existente in pagina web (de la controale la div-uri). Daca de exemplu se seteaza proprietatea id pentru un control la valoarea "control", se poate obtine o referinta la acesta astfel:
var ctrl = document.getElementById("control");
In functie de controlul obtinut se pot accesa si alte proprietati. De exemplu pentru un control de tipul text, continutul acestuia poate fi extras prin intermediul proprietatii value.
var content = ctrl.value;
Pentru un div continutul poate fi extras prin innerHTML in loc de value.
O alta utilizare pentru JavaScript este posibilitatea tratarii evenimentelor. Astfel se poate asocia unui buton un eveniment reprezentat de o functie JavaScript. Cand acel buton este apasat va fi executata functia. Asocierile dintre evenimente si functiile JavaScript se fac in HTML in momentul definirii componentelor. De exemplu in cazul unui buton:
<input type="button" onclick="functieJavaScript()">
Exista binenteles mai multe evenimente posibile pentru fiecare control existent.
JavaScript a fost readus in prim plan printre limbajele de client-side scripting atentie (nu ca pana acum nu ar fi fost) de aparitia tehnologiei AJAX ce permite incarcarea selectiva a elementelor unei pagini web prin intermediul JavaScript. Despre aceasta intr-un alt post.

Niciun comentariu:

 
SEO Romania