01 Funksiyalar nədir?
Funksiya müəyyən bir tapşırığı yerinə yetirən təkrar istifadə edilə bilən kod blokudur. Funksiyaları bir dəfə təyin edib, proqramınızın istənilən yerində istədiyiniz qədər çağıra bilərsiniz.
Funksiyalardan istifadənin üstünlükləri
- Təkrar istifadə - Eyni kodu bir neçə dəfə yazmaq əvəzinə funksiya çağırın
- Təşkilat - Kodu kiçik, idarə edilə bilən hissələrə bölün
- Abstraksiya - Mürəkkəb əməliyyatları sadə funksiya çağırışlarının arxasında gizlədin
- Saxlama - Kodu bir yerdə dəyişdirin, hər yerdə istifadə edin
Funksiyanın anatomiyası
Funksiyanın əsas hissələri:
- function açar sözü - JavaScript-ə funksiya yaratdığınızı bildirir
- Funksiya adı - Funksiyanı çağırmaq üçün istifadə etdiyiniz identifikator
- Parametrlər - Funksiyanın qəbul etdiyi dəyişənlər (mötərizə içində)
- Funksiya gövdəsi - Funksiya çağırıldıqda icra olunan kod (məngənələr içində)
- Return ifadəsi - Funksiyanın çıxış dəyəri
02 Funksiyaların elan edilməsi
JavaScript-də funksiya yaratmağın bir neçə yolu var. İndi əsas üsula - funksiya bəyannaməsinə fokuslanacağıq.
Funksiya bəyannaməsi
Funksiya bəyannaməsi function açar sözü ilə başlayır, ardınca funksiya adı, parametrlər və funksiya gövdəsi gəlir.
function funksiyanınAdı(parametr1, parametr2) { // icra ediləcək kod }
// Sadə funksiya
function greet() {
console.log('Salam, dünya!');
}Funksiya adlandırma qaydaları
Yaxşı funksiya adları kodu oxumağı asanlaşdırır:
- Təsviredici adlardan istifadə edin - funksiyanın nə etdiyini deyir
- Fel istifadə edin - funksiyalar əməliyyatlar yerinə yetirir (calculateSum, getUserName)
- camelCase istifadə edin - birinci söz kiçik, sonrakılar böyük hərflə (calculateTotalPrice)
- Qısa amma aydın olun - çox uzun və ya çox qısa adlardan qaçının
Funksiya bəyannamə nümunələri
Gəlin bir neçə sadə funksiya yaradaq:
// Sadə funksiya
function sayHello() {
console.log('Salam!');
}
// Parametrli funksiya
function greetPerson(name) {
console.log('Salam, ' + name + '!');
}
// Çoxlu parametrlər
function addNumbers(a, b) {
let sum = a + b;
console.log('Cəm: ' + sum);
}03 Funksiyaların çağırılması
Funksiya təyin etdikdən sonra onu adından və mötərizədən istifadə edərək çağırmalısınız. Bu funksiyanın içindəki kodun icra olunmasına səbəb olur.
Çağırış sintaksisi
Funksiya çağırmaq üçün funksiya adını yazın və ardınca mötərizə əlavə edin:
// Funksiya təyin et
function sayHello() {
console.log('Salam!');
}
// Funksiyanı çağır
sayHello();
// Nəticə: Salam!İcra axını
Funksiya çağırıldıqda nə baş verir:
- Proqram icra funksiya çağırışında dayanır
- Proqram funksiya gövdəsinə keçir
- Funksiya gövdəsinin içindəki kod icra olunur
- Funksiya bitdikdən sonra proqram çağırış nöqtəsinə qayıdır
- Proqram funksiya çağırışından sonra davam edir
Funksiyaları bir neçə dəfə çağırmaq
Funksiyanın gücü təkrar istifadə olunmasındadır. Eyni funksiyanı neçə dəfə istəsəniz çağıra bilərsiniz:
function greet() {
console.log('Salam!');
}
// Funksiyanı çağırmaq
greet(); // Çap edir: Salam!
greet(); // Çap edir: Salam!
greet(); // Çap edir: Salam!04 Parametrlər və arqumentlər
Parametrlər funksiyaların dinamik və çevik olmasını təmin edir. Onlar funksiyanın fərqli məlumatlarla işləməsinə imkan verir.
Parametrlər vs Arqumentlər
Parametrlər təyin edildikdə sadalanan dəyişənlərdir
Arqumentlər çağırıldıqda ötürülən faktiki dəyərlərdir
function greet(name) - burada 'name' parametrdir; greet('Ali') - burada 'Ali' arqumentdir
Tək parametr
Funksiya bir parametr qəbul edə bilər:
function greet(name) {
console.log('Salam, ' + name + '!');
}
greet('Ali'); // Nəticə: Salam, Ali!
greet('Leyla'); // Nəticə: Salam, Leyla!
greet('Əli'); // Nəticə: Salam, Əli!Çoxlu parametrlər
Funksiyalar bir neçə parametr qəbul edə bilər, vergüllə ayrılmış:
function introduce(name, age, city) {
console.log('Mənim adım ' + name + ', mən ' + age + ' yaşındayam və ' + city + '-də yaşayıram.');
}
introduce('Ali', 25, 'Bakı');
// Nəticə: Mənim adım Ali, mən 25 yaşındayam və Bakı-da yaşayıram.
function calculateArea(width, height) {
let area = width * height;
console.log('Sahə: ' + area);
}
calculateArea(10, 5);
// Nəticə: Sahə: 50Əvvəlcədən təyin olunan (default) parametr dəyərləri
Arqument təmin edilmədikdə parametrlərə default dəyərlər verə bilərsiniz:
function greet(name = 'Qonaq') {
console.log('Salam, ' + name + '!');
}
greet('Ali'); // Nəticə: Salam, Ali! (Təmin edilib)
greet(); // Nəticə: Salam, Qonaq! (Təmin edilməyib, default istifadə olunur)
function calculatePrice(price, tax = 0.18) {
let total = price + (price * tax);
return total;
}
console.log(calculatePrice(100)); // Nəticə: 118 (Təmin edilməyib, default istifadə olunur)
console.log(calculatePrice(100, 0.10)); // Nəticə: 110 (Təmin edilib)05 Return ifadəsi
Return ifadəsi funksiyadan dəyər qaytarmağa imkan verir. Funksiyadan çıxan nəticədir və onu dəyişənə təyin edə və ya hesablamalarda istifadə edə bilərsiniz.
Return əsasları
Return açar sözündən istifadə edərək funksiyadan dəyər qaytarın:
function add(a, b) {
return a + b;
}
let result = add(5, 3);
console.log(result); // Nəticə: 8Return ifadəsi iki şey edir:
- Funksiyanın icrasını dərhal dayandırır
- Göstərilən dəyəri çağırışçıya qaytarır
Qaytarılan dəyərlərdən istifadə
Funksiyadan qaytarılan dəyəri tutub istifadə edə bilərsiniz:
function multiply(a, b) {
return a * b;
}
// Nəticəni dəyişəndə saxla
let result = multiply(4, 5);
console.log('Nəticə: ' + result); // Nəticə: Nəticə: 20
// Hesablamada istifadə et
let total = multiply(3, 7) + 10;
console.log(total); // Nəticə: 31Return olmadan funksiyalar
Bütün funksiyaların dəyər qaytarması lazım deyil. Return ifadəsi olmayan funksiyalar avtomatik olaraq undefined qaytarır:
// Return yoxdur - undefined qaytarır
function logMessage(message) {
console.log(message);
}
let result1 = logMessage('Salam!');
console.log(result1); // Nəticə: undefined
// Return ilə - string qaytarır
function getMessage() {
return 'Salam, dünya!';
}
let result2 = getMessage();
console.log(result2); // Nəticə: Salam, dünya!Erkən return
Return funksiyadan erkən çıxmaq üçün istifadə oluna bilər:
function divide(a, b) {
if (b === 0) {
console.log('Sıfıra bölmə mümkün deyil!');
return; // Erkən çıxış
}
let result = a / b;
console.log('Nəticə: ' + result);
}
divide(10, 2); // Nəticə: Nəticə: 5
divide(10, 0); // Nəticə: Sıfıra bölmə mümkün deyil!Bu səhv halları və ya xüsusi şərtləri idarə etmək üçün faydalıdır.
06 Funksiya ifadələri
Funksiya bəyannamələrindən əlavə, JavaScript funksiya ifadələrini dəstəkləyir. Bu funksiyanı dəyişənə təyin etməkdir.
Sintaksis
Funksiya ifadəsi funksiya yaradır və onu dəyişənə təyin edir:
// Funksiya ifadəsi
let greet = function(name) {
console.log('Salam, ' + name + '!');
};
greet('Ali'); // Nəticə: Salam, Ali!
// Dəyişənlərdə saxlana bilər
let sayGoodbye = function() {
console.log('Sağ ol!');
};
sayGoodbye(); // Nəticə: Sağ ol!Bəyannamə vs İfadə
Əsas fərq qaldırılmadadır (hoisting):
Funksiya bəyannamələri qaldırılır - elan edilməzdən əvvəl çağıra bilərsiniz
Funksiya ifadələri qaldırılmır - yalnız təyindən sonra çağıra bilərsiniz
// ✅ Düzgün - Funksiya bəyannaməsi
sayHello(); // Bu işləyir
function sayHello() {
console.log('Salam!');
}
// ❌ Səhv - Funksiya ifadəsi
sayGoodbye(); // Bu işləməyəcək - Xəta!
let sayGoodbye = function() {
console.log('Sağ ol!');
};07 Ümumi səhvlər
Funksiyalarla işləyərkən baş verən ümumi səhvlər:
❌ Funksiyaları çağırmağı unutmaq
Mötərizə olmadan funksiya adı yazmaq funksiyanı çağırmır, sadəcə funksiya obyektinə istinad edir.
function greet() {
console.log('Salam!');
}
// ❌ Səhv
greet; // Funksiyanı çağırmır, sadəcə funksiya obyektinə istinad edir
// ✅ Düzgün
greet(); // Funksiyanı düzgün çağırır❌ Parametr sayı uyğunsuzluğu
Funksiya gözlədiyi parametrlərdən az və ya çox arqument ötürmək gözlənilməz nəticələrə səbəb ola bilər.
function greet(name, age) {
console.log('Salam, ' + name + '! Sən ' + age + ' yaşındasan.');
}
// Çox arqument - əlavələr nəzərə alınmır
greet('Ali', 25, 'Bakı');
// Nəticə: Salam, Ali! Sən 25 yaşındasan.
// Az arqument - əksik olanlar undefined olur
greet('Leyla');
// Nəticə: Salam, Leyla! Sən undefined yaşındasan.JavaScript arqument sayını zorla yoxlamır, lakin düzgün sayda təmin etmək yaxşı praktikadır.
❌ Return ifadəsini unutmaq
Funksiyanın dəyər qaytarmasını gözləyirsinizsə, return ifadəsini daxil etməyi unutmayın.
// ❌ Səhv - Return yoxdur
function add(a, b) {
let sum = a + b;
// Return yoxdur!
}
let result = add(5, 3);
console.log(result); // Nəticə: undefined
// ✅ Düzgün - Return var
function multiply(a, b) {
return a * b;
}
let result2 = multiply(5, 3);
console.log(result2); // Nəticə: 15❌ Return-dan sonra kod
Return-dan sonra kod heç vaxt icra olunmayacaq, çünki return funksiyadan çıxır.
function calculate(x) {
return x * 2;
console.log('Bu mesaj göstərilməyəcək'); // Bu kod heç vaxt icra olunmayacaq
}
calculate(5);
// Yalnız 10 qaytarır, console.log heç vaxt icra olunmurXülasə
Təklifiniz var, səhv və ya xəta tapdınız? Zəhmət olmasa bizimlə əlaqə saxlayın.