Тело функции в аргументе

104
18 января 2020, 23:50

Я уже достаточно долго пишу на javascript, но до сих пор мне не ясны некоторые особенности языка. Есть пример кода. В неё передается тело функции. Объясните пожалуйста на примере вашего кода как сделать так чтобы можно было передать тело функции в аргумент и как потом можно ее вызвать. Этот момент я уже достаточно долго не могу понять. Спасибо!

var body = document.getElementsByTagName('body')[0]; 
body.addEventListener('click', function() { 
    alert('body'); 
});

Answer 1

Передача функции как аргумент другой функции:

function someProcedure(callback) {
  var blaBlaBla = 5;
  callback(blaBlaBla * 10);
};
function iAmCallback(someNumber) {
  alert("someNumber is: " + someNumber);
};
someProcedure(iAmCallback);

Мы вызываем нашу процедуру someProcedure с аргументом функцией, которая будет вызван в качестве callback после определенных манипуляций.

Это лишь базовый пример, примерно таким образом чаще всего этот подход используется (посчитать что-то в одной функции, и вызвать функцию-аргумент с результатми подсчетов)

На всякий случай, уточню: функция-аргумент вызывается точно также, как и обычная функция, просто вы обращаетесь к ней как к переменной

READ ALSO
Трехмерный (X, Y и Z) график с использованием D3.js

Трехмерный (X, Y и Z) график с использованием D3.js

Я ищу график, который имеет 3 измерения (x, y и z) и использует D3js

116
Как проверить ширину каждого элемента?

Как проверить ширину каждого элемента?

подскажите как проверить ширину bar, и если она например меньше нужного значения добавить к этому элементу класс а остальные оставить как...

117
Не работает WebSocket

Не работает WebSocket

Пытаюсь сделать минимальный рабочий пример с веб-сокетамиНа стороне сервера использую Spring Framework, клиент - JavaScript

94
Настройка даты и времени в input

Настройка даты и времени в input

Как сделать, чтобы <input type="datetime-local" > имел максимальное значение даты и времени, сегодняЧерез JS

126