Kādas funkcijas ir JavaScript?
sobes.tech AI
Atbilde no AI
JavaScript ir pastāv šādi funkciju veidi:
-
Funkciju deklarācijas (Function Declarations): Pamatsintakse funkcijas definēšanai. Tās ir hoisted kompilācijas laikā.
function sayHello() { // Funkcijas ķermenis console.log("Sveiki!"); } -
Funkciju izteiksmes (Function Expressions): Funkcija ir piešķirta mainīgajam. Tās nav hoisted. Var būt ar nosaukumu vai bez.
const greetUser = function(name) { // Funkcijas ķermenis console.log(`Sveiki, ${name}!`); }; -
Līnijas funkcijas (Arrow Functions): Īsāka sintakse, ieviesta ES6. Ir īpašības
thisuzvedībā.const add = (a, b) => a + b; -
Objektu metodes (Object Methods): Funkcijas, kas definētas kā objekta īpašības.
const user = { name: "Jānis", sayName: function() { console.log(this.name); } }; -
Generatora funkcijas (Generator Functions): Funkcijas, kas var apstāties un atsākt izpildi ar
yield. Atgriež iteratoru.function* counter() { let i = 0; while (true) { yield i++; } } -
Asinhronas funkcijas (Async Functions): Funkcijas, kas strādā ar promisiem un ļauj izmantot
await.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Konstruktora funkcijas (Constructor Functions): Funkcijas, kas tiek izmantotas ar
new, lai izveidotu objektus. Tradicionāla pieeja pirms klases ieviešanas.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Pēteris", 30); -
Atgriešanas funkcijas (Callback Functions): Funkcijas, kas tiek nodotas kā argumenti citām funkcijām, lai tās izpildītu noteiktā laikā.
function processArray(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i]); } } processArray([1, 2, 3], function(item) { console.log(item * 2); }); -
IIFE - Nekavēti izpildāmas funkcijas (Immediately Invoked Function Expressions): Funkcijas, kas tiek izpildītas nekavējoties pēc to definēšanas. Tās tiek izmantotas lokālas vides radīšanai.
(function() { // Lokālais kods const secret = "noslēpums"; console.log(secret); })();
Katrs funkcijas veids ir ar savām īpašībām sintaksē, apgabalā (this) un lietošanas scenārijos.