Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cpl-atm:laboratoare:laborator2 [2013/10/18 10:34]
alexandru.radovici
cpl-atm:laboratoare:laborator2 [2013/10/31 08:01] (current)
alexandru.radovici
Line 1: Line 1:
-====== Laborator 2 ======+====== Laborator 2 - Introducere in NodeJS ​======
  
 Introducere in NodeJS Introducere in NodeJS
Line 49: Line 49:
  
 Pentru laboratorul de astazi avem nevoie de biblioteca //dict//. Vom instala biblioteca in directorul curent la momentul potrivit. Pentru laboratorul de astazi avem nevoie de biblioteca //dict//. Vom instala biblioteca in directorul curent la momentul potrivit.
 +
 +<​code>​
 +npm install dict
 +</​code>​
  
 ===== IDE ===== ===== IDE =====
Line 65: Line 69:
  
 In Windows, proniti un terminal folosind comanda cmd.exe (atentie, nu rulati direct node.exe, acesta nu va executa un program, va pornit doar NodeJS in modul interactiv - adica asteapta instructiuni de javascript). In Windows, proniti un terminal folosind comanda cmd.exe (atentie, nu rulati direct node.exe, acesta nu va executa un program, va pornit doar NodeJS in modul interactiv - adica asteapta instructiuni de javascript).
 +
 +===== Limbajul =====
 +Sintaxa limbajului este similara cu cea din C. Variabilele au tip dinamic, adica tipul lor se schimba in functie de ce anume memoreaza.
 +==== Scrierea pe ecran ====
 +Pe ecran se poate afisa folosind functiile //​console.log()//​ si //​console.error ()//. Care este diferenta dintre acestea doua?
 +<​hidden>​
 +console.log afiseaza pe stdout
 +console.error afiseaza pe stderr
 +</​hidden>​
 +
 +Exemplu:
 +<code javascript>​
 +console.log ('​Hello from NodeJS'​);​
 +</​code>​
 +
 +==== Declararea variabilelor ====
 +Variabilele se declara folosind cuvantul cheie //var//.
 +
 +<code javascript>​
 +var a;
 +var b;
 +</​code>​
 +
 +==== Valorile speciale ale variabilelor ====
 +In Javascript exista trei tipuri de valori speciale, diferite una de alta.
 +
 +  * //​undefined//​ - este valoarea unei variabile care nu a primit niciodata valoare
 +  * //null// - este valoarea echivalenta cu NULL din C, insa este diferita de valoarea 0 sau valoarea //​undefined//​
 +  * //false// - este valoarea falsa din C, diferita de 0, //null// si //​undefined//​
 +  * //true// - este valoarea adevarata
 +
 +<​note>​
 +//false// != //null// != //​undefined//​ != 0
 +</​note>​
 +
 +==== Siruri de caractere ====
 +Sirurile de caractere se scriu intre ghilimele //"// sau aprostroafe //'//. Acestea se pot concatena folosind //+//.
 +
 +Exemplu:
 +<code javascript>​
 +var a = '​Programam in';
 +var b = a + " Javascript";​
 +
 +console.log (b);
 +</​code>​
 +
 +==== Declararea functiilor ====
 +Functiile sunt similare cu cele din C, insa nu au un tip de intoarcere bine definit. O functie se declara folosind cuvantul cheie //​function//​ urmat de numele functiei, paranteza deschisa, lista de parametrii, paranteza inchisa urmata de coldul functiei intre acolade.
 +
 +
 +Exemplu:
 +<code javascript>​
 +function egale (a, b)
 +{
 +  if (a==b) return true;
 +  else return false;
 +}
 +</​code>​
 +
 +O functie poate intoarce orice tip de valoare. In functie de ce tip este scris dupa cuvantul //return//, functia va intoarce un tip sau altul. De asemenea, o functie intoarce mereu o valoare. Daca nu este folosit cuvantul //return// nicaieri, functie va intoarce //​undefined//​.
 +
 +Exemplu:
 +<code javascript>​
 +function afiseaza ()
 +{
 +  console.log ('​afiseaza'​);​
 +}
 +
 +var n = afiseaza ();
 +</​code>​
 +
 +Variabila n va avea valoarea //​undefined//​.
 +
 +==== Siruri ====
 +Sirurile sunt alocate dinamic in Javascript. Realizarea unui sir nou se face prin folosirea parantezelor drepte. Elementele dintr-un sir pot fi de tipuri diferite.
 +
 +Exemplu:
 +<code javascript>​
 +// un sir vid
 +var n = [];
 +
 +// un sir cu elemente omogene
 +var n = [1,2,3];
 +
 +// un sir cu elemente neomegene
 +var n = [1, '​caractere',​ 10.5];
 +</​code>​
 +
 +Sirurile pot fi folosite ca stive prin folosirea functiilor //push// si //pop//.
 +
 +  * push adauga un element in sir
 +  * pop scoate ultimul element din sir
 +
 +Dimensiunea sirului poate fi obtinuta prin variabila //length//.
 +
 +Exemplu:
 +<code javascript>​
 +var a = [1,2,3];
 +
 +a.push (4); // adauga 4 la in sir
 +console.log (a);
 +
 +var x=a.pop (); // scoate ultimul element din sir
 +console.log (x);
 +console.log (a);
 +
 +console.log ('​Sirul are '​+a.length+'​ elemente'​);​
 +</​code>​
 +
 +TODO matrici
 +
 +==== Structuri ====
 +Spre deosebire de C, unde sructurile au un sablon prestabilit,​ in javascript structurile sunt dinamice. Acestea se declara folosind acolade. Se pot adauga si sterge dinamic membrii.
 +
 +Exemplu:
 +<code javascript>​
 +var faraelemente = {};
 +
 +var masa = 
 +{
 +  numarPicioare:​ 4,
 +  tip: '​lemn',​
 +  culoare: '​verde',​
 +  eticheta: ''​
 +};
 +
 +console.log (faraelemente);​
 +console.log (masa);
 +</​code>​
 +
 +Am declarat doua structuri: //​faraelemente//​ este o structura fara membrii si //masa// o structura ce defineste o masa. Putem acum adauga membrii noi amandurora:
 +
 +<code javascript>​
 +faraelemente.membru = '​membru';​
 +masa.lungime= 300;
 +console.log (faraelemente);​
 +console.log (masa);
 +
 +delete masa.eticheta;​
 +
 +console.log (masa);
 +</​code>​
 +
 +O structura poate contine ca mebrii siruri sau alte structuri:
 +
 +<code javascript>​
 +var scaun
 +{
 +  tapiterie: ['​albastru','​galben','​verde'​],​
 +  culoare: '​portocaliu',​
 +  vazator: ​
 +     {
 +        firma: '​firma',​
 +        pret: 299
 +     }
 +};
 +</​code>​
  
 ===== Exercitii ===== ===== Exercitii =====
cpl-atm/laboratoare/laborator2.1382081674.txt.gz · Last modified: 2013/10/18 10:34 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0