Массив бо функсияҳои беимен дар JavaScript
Ман пештар қайд карда будам, ки функсияҳо дар JavaScript ҳамчунон амал мекунанд, ки гӯё сатрҳо ё ададҳо бошанд. Хусусан, метавон массиве сохт, ки аз функсияҳо иборат бошад. Биёед созем:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Биёед, масалан, мундариҷаи унсури сифрии массивро ба консол чоп кунем:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // коди манбаи функсияи аввалро хоҳем дид
Чун мебинед, дар мисоли боло мо коди манбаи функсияро мегирем, ва на натиҷаро.
Барои он ки даъвати функсия рӯй диҳад, ба он лозим аст
қавсҳои доираро илова кунед. Азбаски функсияи мо
дар arr[0] нигоҳ дошта мешавад, пас қавсҳои доира
баъд аз квадратҳо бояд навишта шаванд, чунин
тарз: arr[0](). Санҷем:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // '1'-ро чоп мекунад
Инчунин метавон массиви худро бо функсияҳо бо сикли такрорӣ гардонд ва дар ин сикл ҳар яке аз функсияҳоро даъват кард:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // функсияҳои худро дар сикл даъват мекунем
}
Массиве созед arr бо се функсия.
Бигзор якум бо ёрии return
адади 1-ро баргардонад, дуввум - адади 2,
сеюм - адади 3.
Бо истифода аз массиви сохтаи шумо arr
адади 3-ро ба консол чоп кунед, ки функсияи мувофиқро даъват карда бошад.
Бо истифода аз массиви сохтаи шумо arr
ҷамъи натиҷаҳои функсияҳоро ёбед (бе сикл).
Массиви сохтаи шумо arr-ро
бо сикл такрор кунед ва натиҷаҳои коркарди ҳамаи
функсияҳоро ба консол чоп кунед.