Funktsiyalar yaratishning qanday usullarini bilasiz?
sobes.tech AI
AIdan javob
JavaScriptda funksiyalarni yaratishning bir necha usullari mavjud, har biri o'z xususiyatlariga ega:
-
Funksiya e'lonlari: Klassik funksiyani yaratish usuli. Ular (hoisted) yuqoriga ko'tariladi (hoisted) va bu ularni e'lon qilishdan oldin chaqirishga imkon beradi.
// function yordamida funksiyani e'lon qilish function greet(name) { return "Salom, " + name + "!"; } -
Funksiya ifodalar: Funksiya ifoda qismi sifatida yaratiladi va o'zgaruvchiga tayinlanadi. Ular (not hoisted) funksiyalar e'lonlari kabi ko'tarilmaydi.
// Funksiya ifodasi const greet = function(name) { return "Salom, " + name + "!"; }; -
Arrow Functions (Qalam funksiyalari): Funksiya ifodalar uchun qisqacha sintaksis shakli. Ular
thisva o'z argumentlari (arguments) bo'lmasligi bilan klassik funksiyalardan farq qiladi.// Qalam funksiyasi const greet = (name) => { return "Salom, " + name + "!"; }; // Qisqacha shakli, no-implicit return bilan const greetShort = (name) => "Salom, " + name + "!"; -
Constructor Functions (Konstruktor funksiyalar): Ob'ektlar yaratish uchun ishlatiladi.
newkalit so'zi bilan chaqiriladi.// Konstruktor funksiyasi function Person(name, age) { this.name = name; this.age = age; } // Konstruktor yordamida nusxa yaratish const person1 = new Person("Aleksei", 30); -
Class Methods (Sinf metodlari): Sinflarda (sintaktik shakar prototip meroslik ustida) funksiyalar metodlar sifatida belgilangan.
// Sinf bilan metod e'lon qilish class Greeter { greet(name) { return "Salom, " + name + "!"; } } // Sinf nusxasini yaratish va metodni chaqirish const greeter = new Greeter(); const message = greeter.greet("Dunyo"); -
Immediately Invoked Function Expressions (IIFE): Darhol bajariladigan funksiyalar ifodasi. Mahalliy muhit yaratish uchun ishlatiladi.
// IIFE (function() { // IIFE ichidagi kod console.log("Bu funksiya darhol bajariladi!"); })();
Har bir usulning o'z afzalliklari va kamchiliklari bor, va tanlov aniq vazifa va kontekstga bog'liq.