Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2016, 12: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, 12: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, 12:46
Интересующийся
Отправить личное сообщение для mr_kaznachey Посмотреть профиль Найти все сообщения от mr_kaznachey
 
Регистрация: 15.03.2016
Сообщений: 14

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

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

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

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

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

mr_kaznachey,
замыкание уже вам показали , осталось добавить условие.
Ответить с цитированием
  #8 (permalink)  
Старый 18.03.2016, 17: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, 18:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,154

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



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

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


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