Показать сообщение отдельно
  #1 (permalink)  
Старый 25.07.2016, 10:44
Интересующийся
Отправить личное сообщение для hujak_hujak Посмотреть профиль Найти все сообщения от hujak_hujak
 
Регистрация: 05.07.2016
Сообщений: 15

Проверка в замыкании
Здравствуйте, скажите, как сделать проверку в замыкании.
Нужно чтобы при каждом вызове var generator = sequence(10,3) начальное число увеличивалось на шаг
var generator = sequence(10,3) // 10
var generator = sequence(10,3) // 13
var generator = sequence(10,3) // 16
var generator = sequence(10,3) // 19

Сделал так:
function sequence(x,y) {
    var result = x ;
        return function () {
            return result+=y;
        }

}

Но проблема, первое число выходит 13, а должно 10. Как сделать проверку?

Я пытался так:
function sequence(x,y) {
    var result = x ;
    var c = true;

    if (c) {
        c = !c;
        return function () {
            return result;
        }
    }
    else {
        return function () {
            return result +=y;
        }
    }

}

Но это не работает, почему не понимаю
Ответить с цитированием