Помогите сделать задание
Задание такое
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()))); } |
malin,
первые десять проверяют аргумент наличие x и возвращают x ? x(num) : num -- это содержимое всех этих функций, следующие 4 должны вернуть функции - 90% задания выполнено :) |
Сделал, как сказал рони :)
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); |
nerv_,
:victory: |
спасибо
|
Часовой пояс GMT +3, время: 14:45. |