Как написать функцию в javascript, которая возвращает true или false как чередующиеся при ее вызове без сохранения глобальных переменных с помощью замыкания? - PullRequest
0 голосов
/ 25 октября 2019

функция должна быть похожа на function trueOrFalse(), она не должна содержать ничего в глобальной области видимости, все должно быть ограничено областью действия функции. возвращаемое значение должно быть true или false, и в следующий раз оно должно вернуть обратное значение.

1 Ответ

1 голос
/ 25 октября 2019

Вы на правильном пути. Все, что вам нужно, - это замыкание и локальная переменная.

function gen () {
    let state = false;
    return function () {
        return state = !state;
    }
}
const trueFalse = gen();

trueFalse() //true
trueFalse() //false

Что касается комментария, то это можно сделать без замыкания, используя свойство самой функции.

function trueOrFalse () {
    return trueOrFalse.state = !trueOrFalse.state;
}
trueOrFalse() //true
trueOrFalse() //false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...