Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2016, 20:04
Новичок на форуме
Отправить личное сообщение для malin Посмотреть профиль Найти все сообщения от malin
 
Регистрация: 12.02.2016
Сообщений: 5

Помогите сделать задание
Задание такое

5. JavaScript

Description:

Write a functions that will make basic math calculations to produce results like in the following example. Please, do not use "eval":

three(times(five())); // must return 15
four(plus(eight())); // must return 12
eight(minus(two())); // must return 6
six(dividedBy(three())); // must return 2

Your Solution (you can change the template whatever you want):

function zero(x) {}
function one(x) {}
function two(x) {}
function three(x) {}
function four(x) {}
function five(x) {}
function six(x) {}
function seven(x) {}
function eight(x) {}
function nine(x) {}

function plus(x) {}
function minus(x) {}
function times(x) {}
function dividedBy(x) {}

function checkCalculations() {
console.log(three(times(five())));
console.log(four(plus(eight())));
console.log(eight(minus(two())));
console.log(six(dividedBy(three())));
}
Ответить с цитированием
  #2 (permalink)  
Старый 15.08.2016, 20:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

malin,
первые десять проверяют аргумент наличие x и возвращают x ? x(num) : num -- это содержимое всех этих функций, следующие 4 должны вернуть функции - 90% задания выполнено
Ответить с цитированием
  #3 (permalink)  
Старый 15.08.2016, 22:24
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сделал, как сказал рони

alert(three(times(five()))); // must return 15

function three(x) {
	return x ? x(3) : 3;
}

function five(x) {
	return x ? x(5) : 5;
}

function times(x) {
	return function(y) {
  	return x * y;
  }
}


Еще можно составить задание под это
class MathChain {
	constructor(n) {
  	this.n = n || 0;
  }
  plus(k) {
  	this.n += k;
  	return this;
  }
  minus(k) {
  	this.n -= k;
    return this;
  }
  multiply(k) {
  	this.n *= k;
    return this;
  }
  divide(k) {
  	this.n /= k;
    return this;
  }
  valueOf() {
  	return this.n;
  }
  toString() {
  	return this.n;
  }
  toJSON() {
  	return this.n;
  }
}

let n = new MathChain(3).plus(4).multiply(2);

alert(n);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 15.08.2016, 22:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

nerv_,
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2016, 11:00
Новичок на форуме
Отправить личное сообщение для malin Посмотреть профиль Найти все сообщения от malin
 
Регистрация: 12.02.2016
Сообщений: 5

спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать автозапуск видео на сайте Petrovna80 Ваши сайты и скрипты 4 02.09.2016 23:24
Помогите сделать 47rus Общие вопросы Javascript 8 19.03.2016 21:00
Помогите сделать список nikto93i7 Общие вопросы Javascript 2 12.07.2015 18:40
Помогите сделать умную прокрутку sss2019 Элементы интерфейса 4 22.12.2013 13:36
Помогите сделать список из выборки shaltay jQuery 15 03.04.2011 17:54