Funksiya argumentlari
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 »
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:
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 ifodasi o‘zgaruvchida saqlanadigan funksiyadir
- O‘zgaruvchi nomi funksiyani chaqirish uchun ishlatilishi mumkin
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
