Sunteți pe pagina 1din 7

Ce putem face cu JavaScript?

n n

Limbajul JavaScript

n n

Mihai Gabroveanu

n n

JavaScript ofera designerilor HTML posibilitarea de executa scripturi la nivelul browerului JavaScript poate reactiona la evenimente - Un JavaScript poate fi configurat sa execute o anumita operatie atunci cand se intampla ceva (e.g. s-a terminat de incarcat pagina, userul a facut click pe un element HTML) JavaScript poate citi si scrie elemente HTML Un JavaScript poate citi si schimba continutul unui element HTML JavaScript poate fi utilizat pentru a valida datele din formulare inainte de a fi trimise catre server JavaScript poate fi utilizat pentru a detecta tipul browserului - in functie de acesta putem incarca o pagina sau alta JavaScript poate fi utilizat pentru a manipula cookie-uri - Un JavaScript poate fi utilizat pentru a seta cookie-uri si obtine valoarea acestora
Limbajul JavaScript 3

Ce este JavaScript?
n n n n n n n

Inserarea codului JavaScript in pagina


n

JavaScript este un limbaj de scripting client-side (ruleaza la nivelul browser-ului) JavaScript a fost dezvoltat pentru a prelucra informatiile din formulare si a adauga dinamism paginilor web JavaScript este un limbaj interpretat JavaScript este incorporat de regula in paginile HTML JavaScript nu este JAVA, denumirea initiala a fost LiveScript JavaScript are o sintaxa asemanatoare limbajului C/Java JavaScript este dependent de mediu software-ul care ruleaza de fapt programul este browser-ul web (Firefox, Opera, Netscape Navigator, Internet Explorer, Safari, etc.)

Inserarea de cod JavaScript intr-o pagina HTML se face prin intermediul tagului <script>:
<script type="text/javascript"> ... instructiuni ... </script>

unde:

Atributul type stabileste limbajul de scripting utilizat (implicit JavaScript)

Limbajul JavaScript

Limbajul JavaScript

Exemplu
1. <html> 2. <head> 3. <title>Hello</title> 4. </head> 5. <body> 6. <script type="text/javascript"> 7. document.write("<h1>Hello World!</h1>"); 8. </script> 9. </body> 10. </html>

Exemplu
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

<html> <head> <title>Hello</title> </head> <body> <script type="text/javascript"> <!-document.write("<h1>Hello World!</h1>"); //--> </script> <noscript>Limbajul JavaScript nu e disponibil</noscript> </body> </html>

Limbajul JavaScript

Limbajul JavaScript

JavaScript nu e intotdeauna disponibil


n

Utlizarea codului JavaScript


n

Unele browsere mai vechi nu recunosc tag-ul <script>:


Putem utiliza JavaScript att n <head> ct i n <body>

Acestea vor ignora tag-ul script dar vor afisa codul JavaScript inclus Pentru a evita acest lucru folosim urmatoarea sintaxa: <script type="text/javascript"> <!-instructiuni //--> </script> <!-- este secventa de start a unui comentariu HTML Pentru ca motorul de JavaScript sa ignore secventa de sfarsit a comentariului HTML, -->, utilizam secventa // care indica un cometariu JavaScript

Funciile JavaScript se definesc de regul n <head> n Aceasta ne asigura c acea funcie este ncrcat nainte de fi nevoie de ea Codul JavaScript din <body> se va executa n momentul in care este incarcata pagina

Scripturile JavaScript pot fi definite intr-un fisier extern, fisier ce are extensia .js

Avataj: fisierul poate fi inclus in mai multe pagini HTML

Uneori utilizatori pot dezactiva de a nivelul browserului executia JavaScript-urilor

Includerea unui fisier .js intr-o pagina HTML se face de regula in tag-ul <head> printr-o constructie de forma:
<script type="text/javascript" src="/cale/numefiser.js"></script>

In acest caz putem afisa un mesaj foslosind urmatoarea secventa: <noscript>mesaj afisat dacat JavaScript-ul e dezactivat </noscript>

JavaScript poate fi utilizat si in obiecte de tip form, de exemplu butoane

Acest cod JavaScript se va executa cand obiectul este folosit


Limbajul JavaScript 8

Limbajul JavaScript

Exemplu
date.js

Variabile
n

1. function displayDate(id) { 2. document.getElementById(id).value=Date(); 3. }

<html> 2.<head> 3. <title>Afisare Data</title> 4. <script type="text/javascript" src="date.js"></script> 5.</head> date.html 6.<body> 7. <form> 8. Data: <input type="text" id="data" value=""> 9. <input type="button" onclick="displayDate('data')" value="Data Curenta"> 10. </form> 11.</body> 12.</html>
Limbajul JavaScript 9

n n n n n

Sintaxa declararii unei variabile este urmatoarea var idVar; var idVar = val_initiala; idVar = val_initiala; Numele variabilelor sunt case-sensitive si trebuie sa inceapa cu o litera Variabilele nu au tip (ele pot retine orice valoare) Cuvantul var este optional (daca nu se specifica automat variabila e considerata globala) Variabilele declarate intr-o functie sunt locale acelei functii

La declararea variabilelor locale trebuie obligatoriu var

Variabilele declarate in afara oricarei functii sunt globale (sunt accesibile oriunde in pagina)
Limbajul JavaScript 11

Tipuri primare in JavaScript


n n

Operatori (I)
n n n n n

JavaScript are trei tipuri primare: number, string, si boolean


Orice altceva este obiect Numerele hexazecimale incep cu 0x Numerele in baza 8 incep cu 0 (nu toate browserele suporta)

Numerele sunt memorate intodeauna in virgula flotanta Stringurile sunt secvente de caractere cuprinse intre ghilimele sau apostroafe

Stringurile pot contine \n (newline), \" (ghilimele), etc.

Valorile boolene sunt true sau false 0, "0", stringurile vide, undefined, null, si NaN sunt considerate false , orice altceva este considerat true

Aritmetici: + * / % ++ -Operatori de comparatie: < <= == != >= > Operatori logici: && || ! Operatori pe biti: & | ^ ~ << >> >>> Operatori de atribuire: = += -= *= /= %= <<= >>= >>>= &= ^= |=

Limbajul JavaScript

10

Limbajul JavaScript

12

Operatori (II)
n n n

Instructiuni
n n

Concatenarea stringurilor: + Operatorul conditional : conditie ? val_if_true : val_if_false Testarea egalitatii:

Atribuire
idVar = expresie;

== si != incearca sa converteasca ambii operanzi la acelasi tip inainte de a efectua testul === si !== considera valorile inegale daca au tipuri diferite

Alti operatori new typeof

delete
Limbajul JavaScript 13

Instructiunea compusa { instructiune1; instructiune2; ... instructiune n; }


Limbajul JavaScript 15

Comentarii
n

Instructiuni de decizie
n

Comentariile in JavaScript sunt similare celor din C++ sau Java:


// comentariu pe o singura linie /* comentarii pe mai multe linii */

Selectie simpla:
if (conditie) instructiune; if (conditie) instructiune1; else instructiune2;

Selectie multipla:
switch(n) { case constanta1: bloc instructiuni 1 break; case constantaN: bloc instructiuni N break; default: bloc instructiuni n+1 }

Limbajul JavaScript

14

Limbajul JavaScript

16

Instructiuni de ciclare (I)


n

Exceptii
n n

Instructiunea for
for (expr_i;conditie; expresie_reitializare) instructiune

Instructiunea for in
for (variabla in object) { instructiuni }

Exemplu
<script type="text/javascript"> var i=0, s=0; for (i=0;i<=5;i++) { s+=i; } document.write(" Suma este " + s); </script>

JavaScript dispune de un mecanism de tratare a exceptiilor aproape identic cu cel din Java Aruncarea unei exceptii throw expresie

Exemplu
<script type="text/javascript"> var persoana={nume:"Gabroveanu", prenume:"Mihai", varsta:25}; for (x in persoana){ document.write(persoana[x] + " "); } </script>

unde expresie este valoarea exceptiei, si poate fi de orice tip (cel mai adesea un string)

Prinderea unei exceptii try { instructiuni } catch (e) { // Observatie: nu se specifica/declara tipul lui e instructiuni de tratare a exceptiei e } finally { // otional cod ce se executa la final }
19

Limbajul JavaScript

17

Limbajul JavaScript

Instructiuni de ciclare (II)


n

Functii
n n

Instructiunea while
while (conditie) instructiune

Instructiunea do while
do { instructiuni } while (conditie);

Exemplu
<script type="text/javascript"> var i=0, s=0; while (i<=5) { s+=i; i++ } document.write(" Suma este " + s); </script>

Se definesc de regula in <head> Sintaxa definirii unei functii este urmatoarea: function numeFunctie(p1, , pN) {
//delcaratii de variabile locale (se utilizeaza var) instructiuni }

Exemplu
<script type="text/javascript"> var i=0, s=0; do { s+=i; i++ } while (i<=5); document.write(" Suma este " + s); </script>

n n n

O functie poate returna o valoare cu return valoare; Sintaxa apelului unei functii numeFunctie(vp1, , vpN) Parametri simpli sunt transmisi prin valoare, obiectele prin referinta

Limbajul JavaScript

18

Limbajul JavaScript

20

Functii - Exemplu
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

Crearea Obiectelor
14. 15. 16. 17. 18. 19. 20. 21.

<html> <head> <title>Instructiuni</title> <script type="text/javascript"> function factorial(n){ var i, p=1; for (i=1;i<=n;i++) { p*=i; } return p; } </script> </head>

<body> <h1>Functii</h1> <script type="text/javascript"> var n=3; document.write( n + "!=" + factorial(n)); </script> </body> </html>

n n

Utilizand obiecte literal:


var curs = {"I3502", "Tehnologii Web"}

Cream un obiect gol cu ajutorul operatorului new, apoi adaugam proprietati:


var curs = new Object(); curs.id = " I3502 "; curs.nume = " Tehnologii Web";

Cu aujutorul costructorilor:
function Curs(id, nume){ this.id = id; //cuvantul cheie this e obligatoriu this.nume = nume; } var curs =new Curs("I3502", "Tehnologii Web");

Limbajul JavaScript

21

Limbajul JavaScript

23

Tablouri
var masini= new Array(); masini[0]="Audi"; masini[1]="Logan"; var masini= new Array("Audi", "Logan"); //tablou condensat var masini= ["Audi", "Logan"]; //tablou de literali

Adaugarea de metode la obiecte


1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

var masini= ["Audi", "Logan", "Ford"]; //tablou de literali masini.sort(); var i=0; for(i=0;i<masini.length;i++){ document.write(masini[i]); } masini.reverse(); document.write(masini.toString());

function Triunghi(a, b, c){ this.a = a; this.b = b; this.c = c; this.getPerimetru = function (){ return this.a + this.b + this.c; } } var t = new Triunghi(3,4,5); document.write(t.getPerimetru());

Limbajul JavaScript

22

Limbajul JavaScript

24

Evenimente
n

Evenimentele sunt actiuni care pot fi detectate de JavaScript. Putem configura executia de actiuni la detectarea de evenimente n Exemple de evenimente:
S-a

efectuat click pe un buton S-a terminat de incacat pagina

Limbajul JavaScript

25

S-ar putea să vă placă și

  • Afis Date Personale
    Afis Date Personale
    Document1 pagină
    Afis Date Personale
    Mirela Marinescu
    Încă nu există evaluări
  • Corelare Pentacam
    Corelare Pentacam
    Document2 pagini
    Corelare Pentacam
    Mirela Marinescu
    Încă nu există evaluări
  • GLAUCOMUL
    GLAUCOMUL
    Document10 pagini
    GLAUCOMUL
    Mirela Marinescu
    100% (1)
  • WEBlab 12
    WEBlab 12
    Document6 pagini
    WEBlab 12
    Mirela Marinescu
    Încă nu există evaluări
  • Traducere 532s
    Traducere 532s
    Document81 pagini
    Traducere 532s
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 9
    WEBlab 9
    Document15 pagini
    WEBlab 9
    Mirela Marinescu
    Încă nu există evaluări
  • Manual de Utilizare Cerrus 400
    Manual de Utilizare Cerrus 400
    Document201 pagini
    Manual de Utilizare Cerrus 400
    Mirela Marinescu
    Încă nu există evaluări
  • Visucam 500 - Instrucţiuni de Utilizare PDF
    Visucam 500 - Instrucţiuni de Utilizare PDF
    Document2 pagini
    Visucam 500 - Instrucţiuni de Utilizare PDF
    Mirela Marinescu
    Încă nu există evaluări
  • Traducerea YAG - III
    Traducerea YAG - III
    Document33 pagini
    Traducerea YAG - III
    Mirela Marinescu
    Încă nu există evaluări
  • INVESTIGATII PP
    INVESTIGATII PP
    Document15 pagini
    INVESTIGATII PP
    Mirela Marinescu
    Încă nu există evaluări
  • XML Form
    XML Form
    Document1 pagină
    XML Form
    Mirela Marinescu
    Încă nu există evaluări
  • Contract - Scolarizare - Optica Si Optometrie - FSE PDF
    Contract - Scolarizare - Optica Si Optometrie - FSE PDF
    Document4 pagini
    Contract - Scolarizare - Optica Si Optometrie - FSE PDF
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 8
    WEBlab 8
    Document17 pagini
    WEBlab 8
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 10
    WEBlab 10
    Document9 pagini
    WEBlab 10
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 5
    WEBlab 5
    Document18 pagini
    WEBlab 5
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 6
    WEBlab 6
    Document10 pagini
    WEBlab 6
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 4
    WEBlab 4
    Document12 pagini
    WEBlab 4
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 7
    WEBlab 7
    Document9 pagini
    WEBlab 7
    Mirela Marinescu
    Încă nu există evaluări
  • Web Lab 3
    Web Lab 3
    Document25 pagini
    Web Lab 3
    Sanfira Marius
    Încă nu există evaluări
  • WEBlab 2
    WEBlab 2
    Document12 pagini
    WEBlab 2
    Mirela Marinescu
    Încă nu există evaluări
  • WEB Ex1 2
    WEB Ex1 2
    Document3 pagini
    WEB Ex1 2
    Mirela Marinescu
    Încă nu există evaluări
  • WEBlab 1
    WEBlab 1
    Document35 pagini
    WEBlab 1
    Mirela Marinescu
    Încă nu există evaluări
  • Lab 11 Java
    Lab 11 Java
    Document9 pagini
    Lab 11 Java
    Mirela Marinescu
    Încă nu există evaluări
  • WEB Ex7 8
    WEB Ex7 8
    Document3 pagini
    WEB Ex7 8
    Mirela Marinescu
    Încă nu există evaluări
  • Proiect Web Cerinte
    Proiect Web Cerinte
    Document1 pagină
    Proiect Web Cerinte
    Mirela Marinescu
    Încă nu există evaluări
  • Lab 8 Java
    Lab 8 Java
    Document18 pagini
    Lab 8 Java
    Mirela Marinescu
    Încă nu există evaluări
  • WEB Ex3 4
    WEB Ex3 4
    Document2 pagini
    WEB Ex3 4
    Mirela Marinescu
    Încă nu există evaluări
  • Lab 12 Java
    Lab 12 Java
    Document15 pagini
    Lab 12 Java
    Mirela Marinescu
    Încă nu există evaluări
  • Lab 10 Java
    Lab 10 Java
    Document6 pagini
    Lab 10 Java
    Mirela Marinescu
    Încă nu există evaluări
  • Lab 9 Java
    Lab 9 Java
    Document16 pagini
    Lab 9 Java
    Mirela Marinescu
    Încă nu există evaluări