Funksiyalar
Ko'pincha bir xil harakatni skriptning turli joylarida bajarish kerak bo'ladi. Masalan, foydalanuvchiga chiroyli xabar ko'rsatish. Funksiyalar โ dasturning asosiy "qurilish bloklari". Ular kodni ko'p marta takrorlamasdan ishlatishga imkon beradi.
Funksiya e'loni (Function Declaration)
Funksiyani yaratish uchun funksiya e'loni ishlatiladi. U shunday ko'rinadi:
function nom(parametr1, parametr2, ...) {
// funksiya tanasi (kod)
}
Avval function kalit so'zi, keyin funksiya nomi, so'ng qavs ichida parametrlar ro'yxati, va figurali qavs ichida tanasi keladi.
salomBer() โ funksiyani chaqirish (call). Chaqirilganda uning tanasidagi kod bajariladi. Yuqorida ikki marta chaqirdik โ natijada xabar ikki marta chiqdi.
Lokal va tashqi o'zgaruvchilar
Funksiya ichida e'lon qilingan o'zgaruvchi โ lokal o'zgaruvchi. U faqat funksiya ichida ko'rinadi:
Funksiya tashqarida (o'zidan yuqorida) e'lon qilingan o'zgaruvchilarga ham kira oladi va ularni o'zgartira oladi. Bular tashqi (external) o'zgaruvchilar:
Parametrlar
Parametrlar orqali funksiyaga ixtiyoriy ma'lumot uzatish mumkin. Ular argumentlar deb ham ataladi.
Funksiya chaqirilganda berilgan qiymatlar ("Ali", "Toshkent") parametrlarga (ism, shahar) ko'chiriladi. Parametr โ funksiya ichidagi lokal o'zgaruvchi.
Standart (default) qiymatlar
Agar funksiya chaqirilganda parametr berilmasa, uning qiymati undefined bo'ladi. Buning oldini olish uchun standart qiymat belgilash mumkin โ = orqali:
Ikkinchi chaqiruvda shahar berilmagani uchun standart qiymat ("noma'lum shahar") ishlatildi. Standart qiymat sifatida murakkab ifoda yoki hatto boshqa funksiya chaqiruvi ham bo'lishi mumkin.
Qiymat qaytarish: "return"
Funksiya natijani chaqirilgan joyga qaytarishi mumkin โ buning uchun return ishlatiladi:
return funksiyani darhol to'xtatadi va qiymatni qaytaradi. Funksiya ichida bir nechta return bo'lishi mumkin:
return ni qiymatsiz ham ishlatish mumkin โ bu funksiyani darhol tugatadi. Bu holda funksiya undefined qaytaradi. Umuman return siz funksiya ham undefined qaytaradi.
return va uning qiymatini bir qatorga yozing! return dan keyin yangi qatorga o'tsangiz, JavaScript avtomatik nuqta-vergul qo'yib, bo'sh return deb hisoblaydi va undefined qaytaradi. Masalan, return keyin yangi qatorda (a + b) yozish โ xato natija beradi.Funksiyalarni nomlash
Funksiya โ bu harakat. Shuning uchun uning nomi odatda fe'l (yoki fe'lga o'xshash) bo'ladi va funksiya nima qilishini aniq ifodalashi kerak. Ko'p tarqalgan prefikslar:
get...โ qiymat qaytaradi (masalangetYosh);calc...โ biror narsani hisoblaydi (calcYigindi);create...โ biror narsa yaratadi (createForma);check...โ tekshiradi va boolean qaytaradi (checkKirish);show...โ biror narsani ko'rsatadi (showXabar).
getYosh bo'lsa, u faqat yoshni olib qaytarishi kerak, uni ekranga chiqarmasligi lozim. Qisqa, lekin aniq nomlar tanlang โ kod hujjatning o'zi bo'ladi.Xulosa
- Funksiya function nom(param) { ... } ko'rinishida e'lon qilinadi;
- Parametrlar orqali funksiyaga ma'lumot uzatiladi; standart qiymat
=bilan beriladi; - Funksiya ichidagi o'zgaruvchilar โ lokal, tashqaridagilar โ tashqi;
- return natijani qaytaradi va funksiyani to'xtatadi; qiymatsiz yoki umuman bo'lmasa โ
undefined; - Funksiya nomi uning harakatini aniq ifodalashi kerak โ bitta funksiya, bitta vazifa.