2017年5月12日金曜日

開発環境

Head First JavaScript Programming (Eric T. Freeman (著)、Elisabeth Robson (著)、O'Reilly Media)の Chapter 10.(Liberated functions - First Class Functions)の SHARPEN YOUR PENCIL(No. 6713)を取り組んでみる。

SHARPEN YOUR PENCIL(No. 6713)

コード(Emacs)

HTML5

<pre id="output0"></pre>
<button id="run0">run</button>
<button id="clear0">clear</button>
<script src="sample3.js"></script>

JavaScript

let btn0 = document.querySelector('#run0'),
    btn1 = document.querySelector('#clear0'),
    pre0 = document.querySelector('#output0'),
    p = (x) => pre0.textContent += x + '\n',
    range = (start, end, step=1) => {
        let result = [];
        for (let i = start; i < end; i += 1) {
            result.push(i);
        }
        return result;
    };

let addN = (n) => (x) => n + x;

let output = () => {
    let add0 = addN(0),
        add1 = addN(1),
        add10 = addN(10);

    [add0, add1, add10]
        .forEach(
            (fn, i) => p(`${i + 1}.\n${range(1, 11).map(fn).join('\n')}`)
        );
};

let clear = () => pre0.textContent = '';

btn0.onclick = output;
btn1.onclick = clear;

output();





    







						

0 コメント:

コメントを投稿