Funksiya ifodalari

ULASHISH

Funksiya ifodasi nima?

Funksiya ifodasi — bu o‘zgaruvchida saqlangan funksiya.

// Standard Function
function multiply(a, b) {
  return a * b;
}

// Function Expression
const multiply = function(a, b) {
  return a * b;
};

Misol

const multiply = function (a, b) {return a * b};
O‘zingiz sinab ko‘ring »

Funksiya ifodasi o‘zgaruvchida saqlanganidan so‘ng, o‘zgaruvchidan funksiya sifatida foydalanish mumkin:

Misol

let z = multiply(4, 3);
O‘zingiz sinab ko‘ring »

Anonim funksiyalar

Funksiya ifodalari odatda anonim funksiyalar yaratish uchun ishlatiladi.

Yuqoridagi funksiya aslida nomsiz funksiyadir.

O‘zgaruvchilarda saqlangan funksiyalarga nom kerak emas.

O‘zgaruvchining nomi funksiyani chaqirish uchun ishlatiladi.

Biroq funksiya ifodalari nomlangan bo‘lishi ham mumkin:

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


Funksiya ifodalarida nuqtali vergul ishlatiladi

Funksiya ifodasi — bu JavaScript operatori.

Shuning uchun u odatda nuqtali vergul bilan tugaydi.

Misol

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

O‘zgaruvchilarda saqlangan funksiyalar

Funksiya ifodasi o‘zgaruvchida saqlangani uchun undan qiymat kabi foydalanish mumkin.
Bu funksiyalarni boshqa funksiyalarga uzatishda (callback’lar) foydali.

Funksiya ifodasi o‘zgaruvchiga tayinlanishi, boshqa funksiyaga argument sifatida uzatilishi yoki funksiyadan qaytarilishi mumkin.

Misol

function run(fn) {
  return fn();
}

const sayHello = function() {
  return "Hello";
};

run(sayHello);

Funksiyalar va funksiya ifodalari

JavaScript funksiyalari yordam kalit so‘zi bilan aniqlanadi.

JavaScript funksiyalarini turli usullarda aniqlash mumkin.

JavaScript-da Funksiya deklaratsiyasi va Funksiya ifodasi funksiyalarni aniqlashning turli usullarini, ularning turli sintaksisini va ular bilan ishlash usullarini bildiradi:

Siz ularni chaqirganingizda ikkalasi ham bir xil ishlaydi.

Farqi shundaki, ular sizning kodingizda mavjud bo‘lganda.


Funksiya e’lonlari va funksiya ifodasi

Funksiya e’loni (yoki shunchaki funksiya) quyidagilar yordamida aniqlanadi:

  • The funksiyasi Kalit so‘z
  • A function Nomi
  • Qavs ichidagi parametrlar
  • Kod blokini o‘rab turuvchi jingalak qavslar
function add(a, b) {return a + b;}

Funksiya ifodasi quyidagilar yordamida aniqlanadi:

  • The funksiyasi Kalit so‘z
  • Qavs ichidagi parametrlar
  • Kod blokini o‘rab turuvchi jingalak qavslar
const add = function(a, b) {return a + b;};

Misol

const sayHello = function() {
  return "Hello World";
};

sayHello();
O‘zingiz sinab ko‘ring »

Yuqoridagi Function sayHello o‘zgaruvchisida saqlanadi.

Uni ishga tushirish uchun sayHello()’ni chaqirasiz.


Ko‘tarish (Hoisting)

Funksiya deklaratsiyasini aniqlashdan oldin chaqirish mumkin.

Funksiya ifodalarini ular aniqlanmaguncha chaqirib bo‘lmaydi.

Funksiya deklaratsiyasi o‘z doirasining yuqori qismiga "ko‘tariladi". Bu kodda aniqlanmasdan oldin funksiyani chaqirishingiz mumkin degan ma’noni anglatadi:

let sum = add(2, 3); // Will work

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

Funksiya ifodalari funksiya deklaratsiyasi kabi ko‘tarilmaydi.

Ular bajarilish o‘z ta’rifiga etganida yaratiladi va undan oldin chaqirib bo‘lmaydi:

let sum = add(2, 3); // ⛔ Will generate error

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

Asosiy farqlar

  • Sintaksis:
    Funksiya e’lonlari nom talab qiladi. Funksiya ifodalari anonim bo‘lishi mumkin.
  • Yuk ko‘tarish: Funksiya deklaratsiyasi ko‘tariladi. Funksiya ifodalari emas.
  • Moslashuvchanlik: Funksiya deklaratsiyasi ular qayerda va qanday ishlatilishida ko‘proq moslashuvchanlikni taklif qiladi.

Viktorina

Qaysi turdagi Function kodda aniqlanmasidan oldin chaqirilishi mumkin?


Har biridan qachon foydalanish kerak

  • Umumiy maqsadli funksiyalar uchun funksiya e’lonlaridan foydalaning
  • O‘zgaruvchilarga Functionlar tayinlashda Function ifodalaridan foydalaning
  • Callback’lar va hodisa ishlovchilarida funksiya ifodalaridan foydalaning

Ushbu darslikda keyinroq

Funksiya ifodalari yuqori moslashuvchanlikni taklif qiladi va JavaScript-da turli maqsadlarda keng qo‘llaniladi va siz keyingi boblarda ko‘proq funksiya ifodalarini ko‘rasiz:

  • Arrow funksiyalar
    Qisqa arrow funksiya sintaksisi (=>) funksiya ifodalarini yozishning zamonaviy usulidir.

  • Callback-lar Vaziyat tinglovchilari yoki asinxron operatsiyalar kabi boshqa funksiyalarga argument sifatida funksiyalarni o‘tkazish.
  • Closures — funksiya ifodalari closure’lar (yopiq funksiyalar) yaratishga yordam beradi; closure’lar funksiyalarga o‘zini o‘rab turgan doiradagi o‘zgaruvchilarni eslab qolish va ulardan foydalanish imkonini beradi.
  • Darhol chaqiriladigan funksiya ifodalari (IIFE)
    Aniqlanishi bilanoq ishga tushadigan funksiya ifodalari ko‘pincha xususiy ko‘rinish sohalarini yaratish va global o‘zgaruvchilar to‘qnashuvining oldini olish uchun ishlatiladi.


Viktorina

SayHello va sayHello() o‘rtasidagi farq nima?


Keng tarqalgan xatolar

  • Nuqtali vergulni unutish

    Funksiya ifodalari operator hisoblanadi va ; (nuqtali vergul) bilan tugashi kerak.
  • Hoisting’ni kutish

    Arrow funksiyalar hoisting qilinmaydi.
    Funksiya ifodasini u e’lon qilinishidan oldin chaqira olmaysiz.
  • Havola va chaqiruvni chalkashtirish

    sayHello — funksiyaning o‘zi. sayHello() esa funksiyani chaqiradi.
  • Funksiya nomlari va o‘zgaruvchilarni chalkashtirish

    Ifodalarda o‘zgaruvchi nomi funksiyaga havola vazifasini bajaradi.

Keyingi bob

JavaScript arrow funksiyalari

  • Arrow funksiyalar — funksiya ifodalari uchun qisqa sintaksis
  • function kalit so‘zini tushirib qoldirish mumkin
  • return kalit so‘zini tushirib qoldirish mumkin
  • Figurali qavslarni tushirib qoldirish mumkin

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!