Millised funktsioonid on JavaScriptis?
sobes.tech AI
Vastus AI-lt
JavaScriptis on järgmised funktsiooni tüübid:
-
Funktsiooni deklaratsioonid (Function Declarations): Põhjsüntaks funktsiooni määratlemiseks. Need on hoisted kompileerimise ajal.
function sayHello() { // Funktsiooni keha console.log("Tere!"); } -
Funktsiooni väljendid (Function Expressions): Funktsioon on määratud muutujale. Need ei ole hoisted. Võivad olla nimetatud või nimeta.
const greetUser = function(name) { // Funktsiooni keha console.log(`Tere, ${name}!`); }; -
Noolefunktsioonid (Arrow Functions): Lühike süntaks, tutvustatud ES6-s. Omavad
thiskäitumises erilisi omadusi.const add = (a, b) => a + b; -
Objekti meetodid (Object Methods): Funktsioonid, mis on määratletud objekti omadustena.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Generator-funktsioonid (Generator Functions): Funktsioonid, mis võivad peatuda ja jätkata
yieldabil. Tagastavad iteratori.function* counter() { let i = 0; while (true) { yield i++; } } -
Asünkroonfunktsioonid (Async Functions): Funktsioonid, mis töötavad promisidega ja võimaldavad kasutada
await.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Konstruktorifunktsioonid (Constructor Functions): Funktsioonid, mida kasutatakse
newoperaatoriga objektide loomiseks. Traditsiooniline lähenemine enne klasside kasutuselevõttu.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Tagasikutsumisfunktsioonid (Callback Functions): Funktsioonid, mis edastatakse teise funktsiooni argumendina ja täidetakse kindlal hetkel.
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 - Koheselt kutsutavad funktsioonid (Immediately Invoked Function Expressions): Funktsioonid, mis täidetakse kohe pärast nende defineerimist. Kasutatakse lokaalse keskkonna loomiseks.
(function() { // Kohalik kood const secret = "saladus"; console.log(secret); })();
Iga funktsiooni tüüp omab oma sünaksis, ulatuses (this) ja kasutusstsenaariumides omadusi.