Skip to content

JavaScript Funksiya Argumentlari (Function Arguments)

JavaScript funksiyalarida parametrlar va argumentlar bir-biridan farq qiladi.

  • Parametrlar — bu funksiya ta'rifida (definition) ko'rsatilgan nomlar.
  • Argumentlar — bu funksiya chaqirilganda unga yuboriladigan va funksiya tomonidan qabul qilinadigan haqiqiy qiymatlar.

Misol

js
function multiply(a, b) {
  return a * b;
}

let result = multiply(4, 5);

Yuqoridagi misolda:

  • a va b — parametrlar.
  • 4 va 5 — argumentlar.

arguments Obyekti

JavaScript funksiyalari ichida arguments deb nomlangan o'rnatilgan obyekt mavjud. Bu obyekt funksiya chaqirilganda yuborilgan barcha argumentlarni o'z ichiga olgan massivga o'xshash tuzilmadir.

Bu yordamida siz, masalan, yuborilgan barcha sonlarning eng kattasini topadigan funksiya yozishingiz mumkin:

Misol

js
function findMax() {
  let max = -Infinity;
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i] > max) {
      max = arguments[i];
    }
  }
  return max;
}

x = findMax(1, 123, 500, 115, 44, 88); // 500 qaytaradi

Argumentlar Tartibi Muhim!

Argumentlar funksiya parametrlariga ular yozilgan tartibda biriktiriladi.

js
function subtract(a, b) {
  return a - b;
}

let x1 = subtract(10, 5); // 5 qaytaradi (10 - 5)
let x2 = subtract(5, 10); // -5 qaytaradi (5 - 10)

Argumentlar Qoidalari

  • JavaScript funksiya ta'riflarida parametrlar uchun ma'lumot turlari ko'rsatilmaydi.
  • JavaScript funksiyalari yuborilgan argumentlarning turini tekshirmaydi.
  • JavaScript funksiyalari qabul qilingan argumentlarning sonini tekshirmaydi.

Rest Parametri (...)

Rest parametri (...) funksiyaga cheksiz miqdordagi argumentlarni massiv sifatida qabul qilish imkonini beradi.

Misol

js
function sum(...args) {
  let sum = 0;
  for (let arg of args) sum += arg;
  return sum;
}

let x = sum(4, 9, 16, 25, 29, 100, 66, 77);

Argumentlar Qiymat Bo'yicha Uzatiladi (Passed by Value)

JavaScript-da fundamental ma'lumot turlari (sonlar, matnlar) funksiyaga qiymat bo'yicha uzatiladi. Funksiya faqat qiymatni biladi, uning o'zgaruvchi bilan bog'liqligini emas. Agar funksiya ichida argument qiymati o'zgartirilsa, bu funksiyadan tashqaridagi asl o'zgaruvchiga ta'sir qilmaydi.

Obyektlar Havola Bo'yicha Uzatiladi (Passed by Reference)

Obyektlar (va massivlar) esa funksiyaga havola (reference) bo'yicha uzatiladi. Agar funksiya obyektning xususiyatini o'zgartirsa, bu o'zgarish funksiyadan tashqaridagi asl obyektda ham ko'rinadi.