⊗jsPmFNClb 255 of 505 menu

JavaScript-də Callback Funksiyaları

Funksiyalar digər funksiyalara parametr kimi ötürülə bilər. Belə parametr-funksiyalar callback adlanır (callback). Gəlin onlarla işi bir nümunə ilə görək.

Tutaq ki, biz elə bir funksiya etmək istəyirik ki, ilk parametri massiv, ikinci parametri isə callback olsun və o, hər bir massiv elementinə tətbiq olunsun:

function each(arr, callback) { // burada hansısa kod }

Gəlin funksiyamızın realizasiyasını yazaq:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // callback funksiyasını çağırırıq } return result; }

Bizim each funksiyamız universaldır. Bu o deməkdir ki, biz ona müxtəlif callback-lər ötürərək, massivlər üzərində müxtəlif əməliyyatlar yerinə yetirə bilərik. Bununla belə funksiyamızın kodu dəyişməz qalacaq - yalnız ötürülən callback-lər dəyişəcək.

Gəlin nümunə üçün funksiyamızın köməyi ilə hansısa massivin hər bir elementinin kvadratını alaq. Bunun üçün uyğun callback-i parametr kimi ötürək:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 2; }); console.log(result);

İndi isə massivin elementlərini kuba yüksəldək. Bunun üçün parametr kimi bu əməliyyatı yerinə yetirən artıq başqa bir callback ötürəcəyik:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 3; }); console.log(result);

Ədədlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir elementi iki dəfə artırın.

Sətirlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir sətrin simvollarını tərs ardıcıllıqla çevirin.

Sətirlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir sətrin ilk simvolunu böyük hərflə yazın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et