Sobes.tech
Intern

JavaScriptda qanday funksiyalar mavjud?

sobes.tech AI

AIdan javob

JavaScriptda quyidagi funksiyalar turlari mavjud:

  • Funksiya e'lonlari (Function Declarations): Funksiyani aniqlash uchun asosiy sintaksis. Ular kompilatsiya vaqtida ko'tariladi (hoisted).

    function sayHello() {
      // Funksiya tanasi
      console.log("Salom!");
    }
    
  • Funksiya ifodalar (Function Expressions): Funksiya o'zgaruvchiga tayinlanadi. Ular ko'tarilmaydi. Nomli yoki nomsiz bo'lishi mumkin.

    const greetUser = function(name) {
      // Funksiya tanasi
      console.log(`Salom, ${name}!`);
    };
    
  • Qutqichli funksiyalar (Arrow Functions): ES6 bilan kiritilgan qisqaroq sintaksis. this bilan xususiyatlarga ega.

    const add = (a, b) => a + b;
    
  • Obyekt metodlari (Object Methods): Obyektning xususiyati sifatida belgilangan funksiyalar.

    const user = {
      name: "Ivan",
      sayName: function() {
        console.log(this.name);
      }
    };
    
  • Generator funksiyalar (Generator Functions): yield yordamida to'xtatish va davom ettirish mumkin bo'lgan funksiyalar. Iterator qaytaradi.

    function* counter() {
      let i = 0;
      while (true) {
        yield i++;
      }
    }
    
  • Asinxron funksiyalar (Async Functions): Promislar bilan ishlaydi va await yordamida promisslarning bajarilishini kutadi.

    async function fetchData() {
      const response = await fetch("https://api.example.com/data");
      const data = await response.json();
      return data;
    }
    
  • Konstruktor funksiyalar (Constructor Functions): new operatori bilan ishlatiladigan funksiyalar. Klasslar paydo bo'lishidan oldingi an'anaviy OOP yondashuvi.

    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    const person1 = new Person("Petr", 30);
    
  • Qaytarmali funksiyalar (Callback Functions): Boshqa funksiyaga argument sifatida berilgan va ma'lum bir vaqtda bajariladigan funksiyalar.

    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);
    });
    
  • Darhol chaqiriladigan funksiya ifodalari (IIFE - Immediately Invoked Function Expressions): Darhol bajariladigan funksiyalar. Mahalliy muhit yaratish uchun ishlatiladi.

    (function() {
      // Mahalliy kod
      const secret = "sir";
      console.log(secret);
    })();
    

Har bir funksiya turi o'ziga xos sintaksis, doira (this) va foydalanish holatlari bilan ajralib turadi.