Вход

Просмотр полной версии : Задачка по JS


mr_kaznachey
18.03.2016, 13:32
Как решить єту задачку?
Напиши функцию создания генератора sequence(start, step). Она при вызове возвращает другую функцию-генератор, которая при каждом вызове дает число на 1 больше, и так до бесконечности. Начальное число, с которого начинать отсчет, и шаг, задается при создании генератора. Шаг можно не указывать, тогда он будет равен одному. Начальное значение по умолчанию равно 0. Генераторов можно создать сколько угодно.

var generator = sequence(10, 3);
var generator2 = sequence(7, 1);

console.log(generator()); // 10
console.log(generator()); // 13

console.log(generator2()); // 7

console.log(generator()); // 16

console.log(generator2()); // 8

ruslan_mart
18.03.2016, 13:42
function sequence(start, step) {
start -= step;
return function() {
return start += step;
}
}

mr_kaznachey
18.03.2016, 13:46
Ето весь код?

рони
18.03.2016, 14:11
Ruslan_xDD,
Шаг можно не указывать, тогда он будет равен одному. Начальное значение по умолчанию равно 0.
а это условие ?

mr_kaznachey
18.03.2016, 14:17
Ruslan_xDD,

а это условие ?

Ну так мне дал преподаватель:cray:

mr_kaznachey
18.03.2016, 14:17
Наскоко я понял всё это должго быть Замыканием

рони
18.03.2016, 14:23
mr_kaznachey,
замыкание уже вам показали , осталось добавить условие.

ruslan_mart
18.03.2016, 18:26
function sequence(start, step) {
start = start || 0;
step = step || 1;
start -= step;
return function() {
return start += step;
}
}

рони
18.03.2016, 19:06
Ruslan_xDD,
:victory: