Funksiya argumentlari

ULASHISH

Parametrlar va argumentlar

JavaScript-da Function parametrlari va argumentlari alohida tushunchalardir:

Parametrlar funksiya ta’rifida keltirilgan nomlardir.

argumentlar - funksiya tomonidan berilgan va qabul qilingan haqiqiy qiymatlar.

Misol

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

let result = multiply(4, 5);
O‘zingiz sinab ko‘ring »

Yuqoridagi misolda:

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

Argument 4 a parametriga tayinlangan.

5-argument b parametriga tayinlangan.


Arguments obyekti

JavaScript funksiyalari argumentlar obyekti deb ataladigan o‘rnatilgan obyektga ega.

arguments obyekti funksiya chaqirilganda (invoke qilinganda) ishlatilgan argumentlar massivini o‘z ichiga oladi.

Shunday qilib, raqamlar ro‘yxatidagi eng yuqori qiymatni topish uchun (masalan,) funksiyadan foydalanishingiz mumkin:

Misol

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

function findMax() {
  let max = -Infinity;
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i] > max) {
      max = arguments[i];
    }
  }
  return max;
}
O‘zingiz sinab ko‘ring »

Yoki barcha kiritilgan qiymatlarni jamlash uchun funksiya yarating:

Misol

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
  let sum = 0;
  for (let i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  return sum;
}
O‘zingiz sinab ko‘ring »

Agar funksiya ortiqcha argumentlar bilan (e’lon qilinganidan ko‘proq) chaqirilsa, bu argumentlarga arguments obyekti orqali murojaat qilish mumkin.


Argumentlar tartibi muhim

Argumentlar parametrlarga ular paydo bo‘ladigan tartibda tayinlanadi.

Misol

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

let x1 = subtract(10, 5);
let x2 = subtract(5, 10);
O‘zingiz sinab ko‘ring »
Yuqoridagi ikkita chaqiruv turli natijalar beradi, chunki tartib boshqacha.

Argumentlar o‘zgaruvchan bo‘lishi mumkin

Argumentlar qiymat bo‘lishi shart emas. Ular o‘zgaruvchilar ham bo‘lishi mumkin.

Misol

let x = 5;
let y = 6;

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

multiply(x, y);


Argument qoidalari

JavaScript funksiyasi ta’riflari argumentlar uchun ma’lumotlar turlarini belgilamaydi.

JavaScript Functionlar o‘tkazilgan argumentlar turini tekshirishni amalga oshirmaydi.

JavaScript Functionlar qabul qilingan argumentlar sonini tekshirmaydi.


Noto‘g‘ri argumentlar

Noto‘g‘ri argumentlar noto‘g‘ri javob qaytarishi mumkin:

Misol

function toCelsius(fahrenheit) {
  return (5/9) * (fahrenheit-32);
}

let value = toCelsius("John");
O‘zingiz sinab ko‘ring »

Yetishmayotgan argumentlar

Agar funksiya parametrlarga qaraganda kamroq argumentlar bilan chaqirilsa, yetishmayotgan qiymatlar aniqlanmagan bo‘ladi.

Misol

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

multiply(4);

Yuqoridagi misolda b Aniqlanmagan, shuning uchun natija NaN bo‘ladi.

JavaScript funksiyasi parametr qiymatlarini (argumentlarni) hech qanday tekshirmaydi.


Standart parametrlar

Agar funksiya yetishmayotgan argumentlar bilan (e’lon qilinganidan kamroq) chaqirilsa, yetishmayotgan qiymatlar undefined ga teng bo‘ladi.

Ba’zida bu maqbuldir, lekin ba’zida parametrga standart qiymatni belgilash yaxshiroqdir:

Misol

function myFunction(x, y) {
  if (y === undefined) {
    y = 2;
  }
}
O‘zingiz sinab ko‘ring »

Parametrlarning standart qiymatlari

ECMAScript 2015 Function parametrlariga standart qiymatlarga ega bo‘lish imkonini beradi.

Endi siz parametr uchun standart qiymatni o‘rnatishingiz mumkin.

Agar argument keltirilmasa, standart qiymat ishlatiladi.

Misol

Agar y uzatilmasa yoki undefined bo‘lsa, y = 10 bo‘ladi.

function myFunction(x, y = 10) {
  return x + y;
}
myFunction(5);
O‘zingiz sinab ko‘ring »

Funksiyaning rest parametri

Rest parametri (...) funksiyaga cheksiz miqdordagi argumentlarni massiv sifatida ko‘rib chiqishga imkon beradi:

Misol

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);
O‘zingiz sinab ko‘ring »

Argumentlar qiymat bo‘yicha uzatiladi

Funksiya chaqiruvidagi parametrlar funksiya argumentlaridir.

JavaScript argumentlari Qiymat tomonidan uzatiladi: Funksiya faqat qiymatlarni bilib oladi, argumentning joylashuvini emas.

Agar funksiya argument qiymatini o‘zgartirsa, u parametrning asl qiymatini o‘zgartirmaydi.

Argumentlarga kiritilgan o‘zgarishlar funksiyadan tashqarida ko‘rinmaydi (aks etmaydi).


Obyektlar havola (reference) orqali uzatiladi

JavaScript’da obyekt havolalari qiymat hisoblanadi.

Shu sababli, obyektlar mos yozuvlar orqali uzatilgandek harakat qiladi:

Agar funksiya obyekt xususiyatini o‘zgartirsa, u asl qiymatini o‘zgartiradi.

Obyekt xususiyatlariga kiritilgan o‘zgarishlar funksiyadan tashqarida ko‘rinadi (aks etadi).



Umumiy xatolar

  • Parametrlar va argumentlarni chalkashtirish Parametrlar nomlar. Argumentlar qiymatlar.
  • Tartibni unutish: argumentlar pozitsiyasiga qarab tayinlanadi.
  • Yetishmayotgan argumentlar

    Use default values to avoid undefined.

Viktorina

Funksiya parametrlarga qaraganda kamroq argumentlar bilan chaqirilsa nima bo‘ladi?


Keyingi bob

Funksiya ifodalari

  • Funksiya ifodasi o‘zgaruvchida saqlanadigan funksiyadir
  • O‘zgaruvchi nomi funksiyani chaqirish uchun ishlatilishi mumkin

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!