Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2016, 13:32
Интересующийся
Отправить личное сообщение для mr_kaznachey Посмотреть профиль Найти все сообщения от mr_kaznachey
 
Регистрация: 15.03.2016
Сообщений: 14

Задачка по JS
Как решить єту задачку?
Напиши функцию создания генератора 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
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2016, 13:42
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function sequence(start, step) {
	start -= step;
	return function() {
		return start += step;
	}
}
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2016, 13:46
Интересующийся
Отправить личное сообщение для mr_kaznachey Посмотреть профиль Найти все сообщения от mr_kaznachey
 
Регистрация: 15.03.2016
Сообщений: 14

Ето весь код?
Ответить с цитированием
  #4 (permalink)  
Старый 18.03.2016, 14:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Ruslan_xDD,
Сообщение от mr_kaznachey
Шаг можно не указывать, тогда он будет равен одному. Начальное значение по умолчанию равно 0.
а это условие ?
Ответить с цитированием
  #5 (permalink)  
Старый 18.03.2016, 14:17
Интересующийся
Отправить личное сообщение для mr_kaznachey Посмотреть профиль Найти все сообщения от mr_kaznachey
 
Регистрация: 15.03.2016
Сообщений: 14

Сообщение от рони Посмотреть сообщение
Ruslan_xDD,

а это условие ?
Ну так мне дал преподаватель
Ответить с цитированием
  #6 (permalink)  
Старый 18.03.2016, 14:17
Интересующийся
Отправить личное сообщение для mr_kaznachey Посмотреть профиль Найти все сообщения от mr_kaznachey
 
Регистрация: 15.03.2016
Сообщений: 14

Наскоко я понял всё это должго быть Замыканием
Ответить с цитированием
  #7 (permalink)  
Старый 18.03.2016, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

mr_kaznachey,
замыкание уже вам показали , осталось добавить условие.
Ответить с цитированием
  #8 (permalink)  
Старый 18.03.2016, 18:26
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function sequence(start, step) {
	start = start || 0;
	step = step || 1;
	start -= step;
	return function() {
		return start += step;
	}
}
Ответить с цитированием
  #9 (permalink)  
Старый 18.03.2016, 19:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Ruslan_xDD,
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS загружает изображение всегда с локального кэша - почему? buhpro Общие вопросы Javascript 4 02.10.2013 21:01
JS Coaching для стартапа OlgaAyva Работа 12 27.09.2011 22:18
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Срочно JS developer okp Работа 13 23.08.2011 16:16
Срочно JS developer okp Работа 7 14.06.2011 14:54