2017年5月19日金曜日

開発環境

Head First JavaScript Programming (Eric T. Freeman (著)、Elisabeth Robson (著)、O'Reilly Media)の Chapter 11.(Serious functions - Anonymous Functions, Scope and Closures)の EXERCISE(No. 7101)を取り組んでみる。

EXERCISE(No. 7101)

コード(Emacs)

HTML5

<pre id="output0"></pre>
<button id="run0">run</button>
<button id="clear0">clear</button>
<script src="sample2.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 inject = (dosage) => p(dosage);

let administer = (patient, fn, time) => {
    p(patient);
    fn(time);
};

let output = () => {
    let patient = 'patient0',
        time = -5;

    p('1.');
    administer(patient,
               (dosage) => {
                   if (dosage > 0) {
                       inject(dosage);
                   }
               },
               time);

    p('2.');
    patient = 'patient1';
    time = 5;
    administer(patient,
               (dosage) => {
                   if (dosage > 0) {
                       inject(dosage);
                   }
               },
               time);
};

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

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

output();





    







						

0 コメント:

コメントを投稿