Задать вопрос
dethain
@dethain
Верстальщик

Как сделать функцию, которая выполнится только один раз?

Как сделать что бы функция срабатывала только один раз и при повторном ее использовании ничего не происходило.
  • Вопрос задан
  • 1162 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Пусть функция перезаписывает себя пустой функцией:

function one() {
  console.log('AAAAAAAAAA');
  one = () => {};
}

Или, можно как декоратор это дело оформить:

function once(f) {
  let called = false;

  return function() {
    if (!called) {
      called = true;
      return f.apply(this, arguments);
    }
  };
}

const one = once(function() {
  console.log('AAAAAAAAAA');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
EaGames
@EaGames
Front-end developer
или так:
var firstCall = true;
function one() {
  if (firstCall) console.log('AAAAAAAAAA');
  firstCall = false;
}

но вариант 0xD34F по короче будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы