Кадом функсияҳо дар 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) ва сценарийҳои истифода дорад.