DEV Community

Davron
Davron

Posted on

6 4

Function Declaration vs Function Expression

Function Declaration - bu funksiyani e'lon qilishdir.

E'lon qilingan funksiya keyinroq u chaqirilganda ishga tushirish uchun saqlab qo'yilgan bo'ladi.

O'zgaruvchilarni e'lon qilish var, let, yoki const kabi kalit so'zlar bilan boshlanganidek funksiyani deklaratsiyasi ham function kalit so'zi bilan boshlanadi.

Masalan:

function test(){

return 4;
}
Enter fullscreen mode Exit fullscreen mode
  • Bu yerda funksiya e'lon qilindi holos. Uni ishga tushirish uchun funksiya nomi test()'dan foydalanib funksiyani chaqirishimiz kerak.

Function Expression

Javascriptda funksiya ifoda yordamida ham aniqlanishi mumkin. Funksiya ifodasi(expression) o'zgaruvchiga saqlanishi ham mumkin:
var x = function(a,b) { return a*b};

Funksiya ifodasi o'zgaruvchiga saqlangandan so'ng aynan shu o'zgaruvchidan funksiya sifatida foydalanish mumkin. O'zgaruvchiga saqlanadigan funksiyalarda funksiya nomini ko'rsatish shart emas. Ular doimo o'zgaruvchi nomi orqali chaqiriladi va ishga tushiriladi.

Function Expression:

alert(test()); // ERROR! test topilmadi
var test = function() { return 5; }
Enter fullscreen mode Exit fullscreen mode

Function Declaration:

alert(test()); // Alert 5. dekleratsiyash birinchi amalga oshiriladi
function test() { return 5; }
Enter fullscreen mode Exit fullscreen mode
  • Funksiya deklaratsiyasi boshqa har qanday kod ishga tushishidan oldin bajariladi, funnksiya ifodasi(expression) esa interpreter shu qatorga yetib kelganda bajariladi.

  • var kalit so'zidek funksiya deklaratsiyalari kodning eng yuqorisiga avtomatik ko'tariladi(hoisted). Funksiya ifoda(expression) lar esa ko'tarilmaydi.

Function expression'ning afzalliklari:

Funktsiya ifodalari funksiya deklaratsiyasidan ko'ra foydaliroq bo'lishining bir necha xil usullari mavjud:

  • Closure sifatida;

  • Boshqa funksiyalarga argument sifatida;

  • Darhol chaqiriladigan funksiya ifodalari (IIFE) sifatida;

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (4)

Collapse
 
mr_abbos profile image
Abbos Shamsiddin

Maqola👍,arrow function ham bor ediya?

Collapse
 
dawroun profile image
Davron

ha bor

Collapse
 
ibrohim5133 profile image
Ibrohim5133

Zòr bundanda ko‘proq ma‘lumotlar ulashing

Collapse
 
juraevsherali profile image
sherali

Zoʻr, omad

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay