Curs Web Development
Curs HTML
Curs CSS
Curs Javascript
Curs PHP
Curs Phyton
Curs SQL
Curs SEO

Javascript notiuni generale

Ce este Javascript?

JavaScript este un limbaj de programare care îti permite sa implementezi lucruri complexe pe paginile web si sa modifici comportamentul acestora — de fiecare data când o pagina web face mai mult decât sa afiseze informatii statice — afisând actualizari de continut în timp util sau harti interactive, grafice animate 2D/3D, video, etc. — JavaScript este implicat.

Iata un exemplu simplu de conlucrare a celor trei tehnologii de baza:

🔧 Exemplificare conlucrare HTML-CSS-JS

Este cel de-al treilea strat de tehnologii web standard. JavaScript este un limbaj de scripting care îti permite sa creezi continut dinamic actualizat, de a controla multimedia, de a anima imagini si aproape orice altceva.

Javascript este un limbaj destul de compact, dar foarte flexibil. Dezvoltatorii au scris, o mare varietate de instrumente, pe baza acestui limbaj, deblocind o serie intreaga de functionalitati suplimentare, cu un efort minim.

Aceste functionalitati includ:

Deoarece acest articol, este doar o introducere in limbajul JavaScript, nu vom aprofunda în această etapă, diferențele dintre limbajul JavaScript și diferitele instrumente enumerate mai sus.

Mai jos voi prezenta câteva aspecte ale limbajului și vă veți juca și cu câteva funcții API ale browserului. Let's have some fun!

Un simplu exemplu "Hello World"

Javascript este cu adevarat o tehnologie fantastica si pe masura ce veti invata acest limbaj, veti putea sa creati site-uri extrem de interesante pentru utilizatori.

Totusi, pentru a deveni confortabil cu Javascript, nu este atit de usor, este nevoie de multe, multe ore de practica. Daca vedeti tutoriale cu titluri precum: "Invata Javascript in doar o ora" sau "Javascript - de la incepator la avansat in doar trei zile", sa stiti ca sunt doar glume foarte proaste.

Pentru a deveni expert in Javascript, este nevoie de ani de zile de practica.

Pentru început, vă voi arăta cum să adăugați cod JavaScript in pagina dvs., creând un exemplu clasic „Hello world!”.

Daca ati urmat instructiunile de pina acum, atunci aveti aceasta structura deja creata:

structura site

<script src="script/main.js"></script>
let myHeading = document.querySelector('h1');
  myHeading.textContent = 'Hello world!';
🔧 Exemplu: Inserare Javascript

Motivul pentru care am pus elementul <script> în partea inferioară a fișierului HTML este acela că HTML este încărcat de browser în ordinea în care apare. Dacă JavaScript este încărcat mai întâi și se presupune că ar afecta HTML-ul de sub acesta, s-ar putea să nu funcționeze, deoarece JavaScript ar fi încărcat înainte de HTML pe care se presupune că îl va modifica. Prin urmare, inserarea JavaScript în partea de jos a paginii HTML, este adesea cea mai bună strategie.

Ce se intimpla de fapt in exemplul de mai sus?

Textul titlului a fost acum schimbat în „Hello world!” folosind JavaScript. Am făcut acest lucru folosind mai întâi o funcție numită querySelector () pentru a prelua titlul și a-l stoca într-o variabilă numită myHeading. Acest lucru este foarte similar cu ceea ce am făcut cu ajutorul selectorilor CSS. Când doriți să faceți ceva cu un element, trebuie să îl selectați mai întâi.

Ulterior, am setat valoarea proprietății textContent, a variabilei myHeading (care reprezintă conținutul elementului H1) la „Hello world!”.

Ambele caracteristici pe care le-am utilizat mai sus sunt părți ale API-ului - Document Object Model (DOM), care vă permite să manipulați elemente din documente.

Scurta introducere in limbajul Javascript

Să explicăm câteva dintre caracteristicile de bază ale limbajului JavaScript, pentru a vă oferi o mai bună înțelegere a modului în care funcționează totul. Este demn de remarcat faptul că aceste caracteristici sunt comune tuturor limbajelor de programare, așa că, dacă stăpânești aceste elemente fundamentale, vei putea sa creezi aproape orice.

Variabile Javascript

Variabilele sunt containere în care puteți stoca valori sau expresii. O variabilă poate avea un nume scurt, de exemplu x, sau mai descriptiv, de exemplu myHeading.

Începeți prin a declara o variabilă cu var(mai puțin recomandat) sau cu let, urmat de orice nume pe care doriți să-l utilizati:

let numeVariabila;

Punctul si virgula de la sfârșitul unei linii indică unde se încheie o instrucțiune si este obligatoriu numai atunci când trebuie să separați instrucțiuni pe o singură linie. Cu toate acestea, se consideră că este o practică bună să le înscrieți la sfârșitul fiecărei instrucțiuni.

JavaScript este case-sensitive - numeVariabila este o variabilă diferită de numevariabila.

După declararea unei variabile, îi puteți da o valoare:

numeVariabila = 'Vasile'; 

Putem face ambele operații pe aceeași linie:

let numeVariabila = 'Vasile'; 

Puteți prelua valoarea doar apelând variabila după nume:

numeVariabila; 

După ce dați unei variabile o valoare, puteți alege mai târziu să o modificați:

let numeVariabila = 'Vasile';
  numeVariabila = 'Maricica';

Rețineți că variabilele pot avea valori care au diferite tipuri de date:

Variabila Explicatie Exemplu
String Este o secvență de text cunoscută sub numele de șir. Pentru a specifica, că valoarea este un șir, trebuie să o adăugați în ghilimele. let numeVariabila = 'Vasile';
Number Un număr. Numerele nu au ghilimele în jurul lor. let numeVariabila = 12;
Boolean O valoare adevărată / falsă. Cuvintele adevărate și false sunt cuvinte cheie speciale în JS și nu au nevoie de ghilimele. let numeVariabila = true;
Array O structură care vă permite să stocați mai multe valori într-o singură referință. let numeVariabila = [1,'Vasile','Maricica',10];
Ne referim la fiecare membru din array astfel:
numeVariabila[0], numeVariabila[1], etc.
Object Practic, orice. Totul în JavaScript este un obiect și poate fi stocat într-o variabilă. Ține cont de acest lucru în timp ce înveți. let numeVariabila = document.querySelector('h1');
Toate exemplele de mai sus, de asemenea.

De ce avem nevoie de variabile? Ei bine, variabilele sunt necesare, pentru a face lucrurile mult mai interesante în programare. Dacă valorile nu se pot schimba, atunci nu puteți face nimic dinamic, cum ar fi personalizarea unui mesaj de salut sau schimbarea imaginii afișate într-o galerie de imagini.

Comentariile

Comentariile sunt, în esență, scurte fragmente de text care pot fi adăugate în cod si care sunt ignorate de browser. Puteți introduce comentarii în codul JavaScript, la fel cum puteți si în CSS sau HTML:

/* 
  Eu sunt un exemplu de comentariu 
  */

Dacă in comentariul dvs. nu sunt ruperi de linie, este mai ușor să-l scrieti astfel:

// Acesta este un comentariu

Operatorii Javascript

Un operator este un simbol matematic care produce un rezultat pe baza a două valori (sau variabile). Operatorii se folosesc pentru a manipula, combina si modifica datele dintr-un program sau script. În tabelul următor, puteți vedea unii dintre cei mai simpli operatori, împreună cu câteva exemple de încercat în consola JavaScript.

Operator Explicatie Simbol(uri) Exemplu
Adunare Folosit pentru a aduna doua numere sau pentru a lipi doua siruri impreuna. + 6 + 9;
"Hello " + "world!";
Scadere, inmultire, impartire Acestea, fac ceea ce te-ai aștepta să facă în matematica de bază. -, *, / 9 - 3;
8 * 2; // inmultirea in JS este un asterisk
9 / 3;
Atribuire Ați văzut deja acest lucru: atribuie o valoare unei variabile. = let numeVariabila = 'Vasile';
Egalitate Face un test pentru a vedea dacă două valori sunt egale una cu cealaltă și returnează un rezultat adevărat / fals (boolean). === let numeVariabila = 3;
numeVariabila === 4;
Not, Inegalitate ca valoare sau ca tip de date. Returnează valoarea logic opusă a ceea ce precedă; transformă un adevar într-un fals, etc. Când este utilizat alături de operatorul Egalitate, operatorul de negație testează dacă două valori nu sunt egale. !, !== Pentru „Not”, expresia de bază este adevărată, dar comparația returnează fals, deoarece o negam(anulam):

let numeVariabila = 3;
!(numeVariabila === 3);

"Does-not-equal" ofera practic acelasi rezultat cu sintaxa diferita. Aici testam daca "numeVariabila NU este egala cu 3". Se returneaza "false" pentru ca "numeVariabila" ESTE egal cu 3:

let numeVariabila = 3;
numeVariabila !== 3;

Exista multi alti operatori, dar pentru moment este suficient.

Instructiunile conditionale

Adesea, când scrieţi cod JS, trebuie să realizaţi operaţii diferite în funcţie de decizii diferite. Pentru a realiza acest lucru, folosiţi în cod instrucţiunile condiţionale.

Condiționalele sunt structuri de cod care vă permit să testați dacă o expresie returnează adevărat sau nu, rulând cod alternativ dezvăluit de rezultatul său. O formă foarte frecventă de condiționări este afirmația if ... else. De exemplu:

let placintaMere = 'scortisoara';
  if(placintaMere === 'scortisoara') {
  alert('Ura, imi place scortisoara in placinta cu mere!');    
  } else {
alert('Ahhh, dar scortisoara imi place mult...');    
}

Expresia din interiorul if(...) este testul - aceasta folosește operatorul de identitate (așa cum este descris mai sus) pentru a compara variabila placintaMere cu string-ul scortisoara, pentru a vedea dacă cele două sunt egale. Dacă această comparație este adevărata, se execută primul bloc de cod, iar dacă nu este adevărată, primul bloc este omis și al doilea bloc de cod, după instrucțiunea else, este executat.

Functii Javascript

Funcțiile sunt un mod de "impachetare" a unei funcționalitati pe care doriți să o reutilizați. O funcţie va fi executată când are loc un eveniment sau când este apelată. Când aveți nevoie de o anumita functionalitate(procedură) puteți apela o funcție, cu numele funcției, în loc să rescrieți de fiecare dată întregul cod. Ați văzut deja unele utilizări ale funcțiilor mai sus, de exemplu:

let myHeading = document.querySelector('h1');
alert('hello!');

Aceste funcții, document.querySelector și alert, sunt încorporate în browser pentru a le folosi oricând doriți.

Dacă vedeți ceva care arată ca un nume de variabila, dar are paranteze - () - după nume, este probabil o funcție. Funcțiile au adesea argumente - biți de date, de care au nevoie pentru a-și face treaba. Acestea intră în paranteze, separate prin virgule dacă există mai multe argumente.

De exemplu, funcția alert () face ca o fereastră pop-up să apară în fereastra browserului, dar trebuie să îi dăm un șir ca argument, pentru a spune funcției ce trebuie să scrie în caseta pop-up.

Vestea bună este că vă puteți defini propriile funcții - în exemplul următor vom vedea o funcție simplă care ia două numere ca argumente și le înmulțește:

function multiply(num1,num2) {
  let result = num1 * num2;
  return result;
}

Încercați să rulați funcția de mai sus în consolă, apoi testați cu mai multe argumente. De exemplu:

multiply(4, 6);
  multiply(25, 25);
  multiply(1.5, 3); 
testare javascript in consola

Declarația return spune browserului să returneze variabila rezultatului din funcție, astfel încât să fie disponibilă pentru utilizare. Acest lucru este necesar deoarece variabilele definite în interiorul funcțiilor sunt disponibile numai în interiorul acestor funcții. Instrucţiunea return este folosită pentru a specifica valoarea returnată de o funcţie şi trebuie inclusă în orice funcţie care returnează o valoare.

Evenimentele Javascript

Interactivitatea reală pe un site web are nevoie de evenimente. Acestea sunt structuri de cod care ascultă lucrurile care se întâmplă în browser și rulează codul ca răspuns.

Utilizând JavaScript, putem crea pagini web dinamice. Fiecare element dintr-o pagină web are un anumit număr de evenimente care pot declanşa un script. Spre exemplu, putem utiliza evenimentul onClick al unui buton pentru a indica ce funcţie va fi executată dacă utilizatorul acţionează butonul respectiv. Evenimentele sunt definite în tagurile HTML.

Exemple de evenimente:

Evenimentele sunt în mod normal asociate cu funcţii, care nu vor fi executate înainte de a avea loc evenimentul.

Cel mai evident exemplu, este evenimentul de clic, care este executat de browser atunci când faceți click pe ceva cu mouse-ul. Pentru a demonstra acest lucru, introduceți următorul cod în consola, apasati enter, apoi faceți clic pe pagina web curentă(in afara consolei):

document.querySelector('html').onclick = function() {
  alert('Auu! Încetează cu click-urile astea!');
}
🔧 Executa un click in fereastra Preview!

Există multe moduri de a atașa un eveniment la un element. Aici selectăm elementul <html>, setându-i proprietatea onclick egală cu o funcție anonimă (adică fără nume), care conține codul pe care dorim să-l rulam cind are loc evenimentul de clic.

De exemplu,

document.querySelector('html').onclick = function() {};

este echivalent cu,

let myHTML = document.querySelector('html');
  myHTML.onclick = function() {};

doar ca este mai scurt.

Sa aducem imbunatatiri site-ului nostru

Acum ca am invatat câteva elemente de bază JavaScript, să adăugăm câteva funcții interesante pe site-ul nostru, pentru a-l face mai interactiv.

Sa schimbam imaginea

Vom adăuga o imagine suplimentară site-ului nostru folosind alte DOM-API functionalitati si cod JavaScript, pentru a comuta între cele două atunci când facem clic pe imagine.

let myImage = document.querySelector('img');

myImage.onclick = function() {
    let mySrc = myImage.getAttribute('src');
    if(mySrc === 'imagini/imagine-1.extensie') {
      myImage.setAttribute ('src','imagini/imagine-2.extensie');
    } else {
      myImage.setAttribute ('src','imagini/imagine-2.extensie');
    }
}
🔧 Executa un click pe imagine in fereastra Preview!

Sa vedem ce se intimpla in exemplul de mai sus. Stocam o referință a elementului <img> in variabila myImage. În continuare, facem ca proprietatea de gestionare a evenimentelor onclick să fie egală cu o funcție fără nume (o funcție „anonimă”). Acum, de fiecare dată când se face clic pe acest element, se petrec urmatoarele actiuni:

Să adăugam unui mesaj personalizat de bun venit

În continuare, vom adăuga un alt fragment de cod, schimbând titlul paginii într-un mesaj personalizat de bun venit, atunci când utilizatorul ajunge prima dată pe site. Acest mesaj de bun venit va persista, dacă utilizatorul va părăsi site-ul și va reveni ulterior - îl vom salva folosind API-ul Web Storage. De asemenea, vom include o opțiune de a schimba utilizatorul și, prin urmare, mesajul de bun venit oricând este necesar.

<button>Schimba utilizatorul</button>
  <script src="main.js"></script>
  </body>
</html>
let myButton = document.querySelector('button');
  let myHeading = document.querySelector('h1');
function setUserName() {
  let myName = prompt('Introduceti numele dvs.');
  localStorage.setItem('name', myName);
  myHeading.textContent = 'Bine ai venit, ' + myName;
}

Această funcție conține o alta funcție numita prompt (), care creează o casetă de dialog, cam ca o alertă. Cu toate acestea, prompt () solicită utilizatorului să introducă unele date, stocându-le într-o variabilă după ce utilizatorul apasă OK.

În acest caz, solicităm utilizatorului să-și înscrie numele. În continuare, apelăm la un API numit localStorage, care ne permite să stocăm date în browser și să le recuperam ulterior. Folosim funcția se stocare locala localStorage.setItem pentru a crea și stoca un element de date numit „nume”, setându-i valoarea pe variabila myName care conține datele introduse de utilizator. În cele din urmă, setăm textContent pentru titlu la un șir(string), plus numele recent stocat al utilizatorului.

if(!localStorage.getItem('name')) {
  setUserName();
} else {
  let storedName = localStorage.getItem('name');
  myHeading.textContent = 'Bine ai venit, ' + storedName;
}

Blocul de mai sus folosește mai întâi operatorul de negație (NOT, reprezentat de !), pentru a verifica dacă datele de nume există. Dacă nu, funcția setUserName () este rulată pentru a o crea. Dacă există (adică utilizatorul a setat-o în timpul unei vizite anterioare), preluăm numele stocat folosind getItem () și setăm textContent pentru titlu la un șir, plus numele utilizatorului, așa cum am făcut cu setUserName ().

myButton.onclick = function() {
  setUserName();
}

Acum, când vizitați prima dată pagina, vă va cere numele de utilizator, apoi vă va oferi un mesaj personalizat. Puteți schimba numele oricând doriți, apăsând butonul. Ca un plus, deoarece numele este stocat în localStorage, acesta persistă după închiderea site-ului, păstrând acolo mesajul personalizat atunci când deschideți pagina din nou!

Un nume de utilizator nul?

Când încarcați pagina și utilizați caseta de dialog care vă solicită să introduceți numele de utilizator, încercați să apăsați butonul anulare(cancel). Ar trebui să vedeti titlul „Bine ai venit, null”. Acest lucru se datorează faptului că atunci când anulați introducerea numelui, valoarea este setată ca nulă, o valoare specială în JavaScript, care se referă practic, la absența unei valori.

Încercați, de asemenea, doar să apăsați OK fără să introduceți niciun nume - ar trebui să vedeți cu un titlu care scrie „Bine ai venit”, din motive destul de evidente.

Dacă doriți să evitați aceste probleme, puteți verifica dacă utilizatorul nu a introdus null sau un nume necompletat prin actualizarea funcției setUserName () la aceasta:

function setUserName() {
  let myName = prompt('Introduceti numele dvs.');
  if(!myName || myName === null) {
    setUserName();
  } else {
    localStorage.setItem('name', myName);
    myHeading.innerHTML = 'Bine ai venit, ' + myName;
  }
}

Explicatia este ca dacă - myName nu are nicio valoare sau valoarea sa este nulă, rulați setUserName () din nou. Dacă are o valoare (dacă afirmațiile de mai sus nu sunt adevărate), atunci stocam valoarea în localStorage și o setam ca text, parte din textul titlului.

Blocul de cod complet, ar trebui sa arate ca cel de mai jos:

// Schimbarea imaginii
let myImage = document.querySelector('img');

myImage.onclick = function() {
    let mySrc = myImage.getAttribute('src');
    if(mySrc === '../imagini/star.jpg') {
      myImage.setAttribute ('src','../imagini/star1.png');
    } else {
      myImage.setAttribute ('src','../imagini/star1.png');
    }
}

// Mesaj personalizat

let myButton = document.querySelector('button');
let myHeading = document.querySelector('h1');

function setUserName() {
  let myName = prompt('Introduceti numele dvs.');
  if(!myName || myName === null) {
    setUserName();
  } else {
    localStorage.setItem('name', myName);
    myHeading.innerHTML = 'Bine ai venit, ' + myName;
  }
}

if(!localStorage.getItem('name')) {
  setUserName();
} else {
  let storedName = localStorage.getItem('name');
  myHeading.innerHTML = 'Bine ai venit, ' + storedName;
}

myButton.onclick = function() {
  setUserName();
}

Dacă ați respectat toate instrucțiunile din acest articol, ar trebui să aveți o pagină care arată așa:

🔧 Executa un click pe imagine in fereastra Preview!

Am sa inchei aceasta sectiune, cu o imagine foarte sugestiva, cu privire la utilizarea abuziva, a limbajului Javascript.

Top