JavaScript asoslari

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.

funk-elon.js
// natija shu yerda chiqadi

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:

funk-lokal.js
// natija shu yerda chiqadi

Funksiya tashqarida (o'zidan yuqorida) e'lon qilingan o'zgaruvchilarga ham kira oladi va ularni o'zgartira oladi. Bular tashqi (external) o'zgaruvchilar:

funk-tashqi.js
// natija shu yerda chiqadi
Agar funksiya ichida tashqi o'zgaruvchi bilan bir xil nomli lokal o'zgaruvchi e'lon qilinsa, funksiya faqat lokalidan foydalanadi va tashqisini "ko'rmaydi" (u soyada qoladi). Iloji bo'lsa, funksiyalar tashqi o'zgaruvchilarga tayanmasligi maqsadga muvofiq.

Parametrlar

Parametrlar orqali funksiyaga ixtiyoriy ma'lumot uzatish mumkin. Ular argumentlar deb ham ataladi.

funk-param.js
// natija shu yerda chiqadi

Funksiya chaqirilganda berilgan qiymatlar ("Ali", "Toshkent") parametrlarga (ism, shahar) ko'chiriladi. Parametr โ€” funksiya ichidagi lokal o'zgaruvchi.

Atamalar farqi: parametr โ€” funksiya e'lonidagi o'zgaruvchi (qavs ichida yozilgani); argument โ€” funksiya chaqirilganda beriladigan haqiqiy qiymat. Amalda ko'pincha ikkalasi bir ma'noda ishlatiladi.

Standart (default) qiymatlar

Agar funksiya chaqirilganda parametr berilmasa, uning qiymati undefined bo'ladi. Buning oldini olish uchun standart qiymat belgilash mumkin โ€” = orqali:

funk-default.js
// natija shu yerda chiqadi

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:

funk-return.js
// natija shu yerda chiqadi

return funksiyani darhol to'xtatadi va qiymatni qaytaradi. Funksiya ichida bir nechta return bo'lishi mumkin:

funk-return2.js
// natija shu yerda chiqadi

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:

Bitta funksiya โ€” bitta harakat. Agar funksiya nomi 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