რა ფუნქციები არსებობს JavaScript-ში?
sobes.tech AI
პასუხი AI-სგან
JavaScript-те төмөнкү түрлөрү функциялар бар:
-
Функцияларды жарыялоо (Function Declarations): Функцияны аныктоо үчүн негизги синтаксис. Алар компиляция учурунда hoisted болот.
function sayHello() { // Функциянын денеси console.log("Салам!"); } -
Функциялык билдирүүлөр (Function Expressions): Функция өзгөрмөгө берилет. Алар hoisted эмес. Атын алган же атынсыз болушу мүмкүн.
const greetUser = function(name) { // Функциянын денеси console.log(`Салам, ${name}!`); }; -
Накылдуу функциялар (Arrow Functions): ES6да киргизилген кыска синтаксис.
thisжүрүм-турумунда өзгөчөлүктөрү бар.const add = (a, b) => a + b; -
Объекттин методдору (Object Methods): Объекттин мүчөлөрү катары аныкталган функциялар.
const user = { name: "Иван", sayName: function() { console.log(this.name); } }; -
Генератор функциялар (Generator Functions): Иштеп чыгуу токтоосуз жана кайра жанданган функциялар,
yieldколдонуу менен. Итереторду кайтарат.function* counter() { let i = 0; while (true) { yield i++; } } -
Асинхрон функциялар (Async Functions): Промис менен иштейт жана
awaitколдонууга мүмкүндүк берет.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Куруу функциялары (Constructor Functions):
newоператору менен колдонулуп, объекттер түзөт. Класс пайда болгонго чейин классикалык ыкма.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Пётр", 30); -
Кайтаруу функциялары (Callback Functions): Башка функцияларга аргумент катары берилген жана белгилүү убакытта ишке ашырылуучу функциялар.
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 - Дароо чакырылган функциялар (Immediately Invoked Function Expressions): Тез арада ишке ашырылуучу функциялар, алардын аныкталган соң.
(function() { // Локалдык код const secret = " сыр"; console.log(secret); })();
Ар бир түрү өзүнүн синтаксисинде, чөйрөсүндө (this) жана колдонуу сценарийлеринде өзгөчөлүктөргө ээ.