GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Sintaxa unei funcții
  • Parametri de intrare
  • Return (Răspunsul unei funcții)
  • Scopul variabilelor în funcții
  • Alte forme de definire a unei funcții
  1. FRONTEND DINAMIC
  2. JavaScript

Funcții

Unul din cele mai importante concepte în orice limbaj.

Funcțiile în JavaScript sunt blocuri de cod reutilizabile, care execută o serie de instrucțiuni. Aceste funcții pot fi apelate de evenimente în browser, sau apelate din alte părți în codul JavaScript.

Sintaxa unei funcții

O funcție e definită utilizând cuvântuil cheie function, urmat de un nume (care îl alegeti voi) urmat de paranteze ( ). După care, între acolade { } se definesc instrucțiunile care vrem sa le includem în această funcție.

function sayHello() {
    console.log("hello, World!");
}

Observați că aici funcția doar e declarată, asta inseamnă că orice cod care îl scriem aici încă nu e executat, doar spunem ce vrem sa facem când această funcție va fi apelată mai târziu.

Funcția de mai sus va face un singur lucru, va afișa la consola ”Hello, World!”. Observați că are un nume sugestiv, și instrucțiunea console.log() se află între acolade.

Pentru a apela funcția sayHello oriunde în codul nostru, trebuie doar să-i scriem numele cu paranteze la sfârșit:

sayHello(); // Va afisa "Hello, World!" in consola

Parametri de intrare

Orice funcție poate avea o serie de parametri de intrare definiți. Acești parametri vor fi vizibili doar în scopul funcției și deobicei îi folosim pentru a crea funcționalități mai generice, care pot fi apelate în diferite forme.

Spre exemplu putem face funcția noastră mai puternică dacă vrem să o facem sa zică salute pe cineva concret:

function sayHello(name) {
    console.log("Hello, " + name);
}

Observați că parametrii de intrare sunt definiți între paranteze cînd definim funcția. Dacă avem mai mulți parametri, îi separăm prin virgulă.

Pentru a apela această funcție, folosim același pattern:

sayHello("Lume"); // Va afisa "Hello, Lume"

Return (Răspunsul unei funcții)

Funcțiile, pe lângă parametri de intrare, care o fac configurabilă, mai poate avea și un raspuns. Spre deosebire de parametri de intrare, care pot fi mai mulți, răspunsul e întotdeauna unul singur.

Pentru a defini un răspuns, folosim cuvântul cheie return în corpul funcției:

function add(a, b) {
    const sum = a + b;
    return sum; 
    // orice scriem aici nu se va mai executa
}

Funcția de mai sus are 2 parametri de intrare, și va calcula suma lor, după care va returna această sumă (linia 3). Orice cod care noi îl scriem după instrucțiunea return nu va mai fi executat. Putem folosi această idee pentru a operi prematur execuția unei funcții.

Pentru a apela funcția declarată mai sus, o apelăm în același mod, doar că o interpretăm ca o instrucțiune ce întoarce un rezultat:

let res = add(3, 5); // res va avea valoarea 8

console.log(add("test ", "me")) // vom afisa la consola "test me"

const text = "Suma numerelor 4 si 6 este " + add(4, 6);

Scopul variabilelor în funcții

Orice variabilă care o declarăm în funcțiile noastre, vor fi vizibile doar în corpul lor, care e definit de { }. Se aplică aceleași reguli de vizibilitate ca și peste tot în JavaScript:

function product(n1, n2, n3) {
    let p = n1 * n2;
    let p2 = p * n3;
    // alt cod care foloseste variabilele p si p2
}

// aici NU putem folosi variabilele p, p2, n1, n2, n3

Alte forme de definire a unei funcții

În JavaScript, funcțille sunt sunt așa numitele ”First class citizens”. Asta doar ne spune că putem folosi funcțiile la fel cum folosim orice variabilă, adică putem sa o transmitem ca o variabilă și să o declarăm ca o variabilă.

function add(a, b) {
    return a + b;
}


let suma = add; // suma() va fi la fel o functie acum
console.log(suma(2, 3)); // va afisa la consola "5"


let prod = function (a, b) { 
    return a * b;
}
console.log(prod(3, 4)); // va afisa la consola "12"

O să vedeți în exemple de cod aceste forme de declarare a funcțiilor și e important să le recunoașteți. Voi puteți să le declarați în orice formă care va e comod vouă.

PreviousJavaScript & HTMLNextDOM & Window API

Last updated 4 years ago