2017年5月29日月曜日

開発環境

Head First JavaScript Programming (Eric T. Freeman (著)、Elisabeth Robson (著)、O'Reilly Media)の Chapter 13.(Extra strength objects - Using Prototypes)の EXERCISE(No. 8426)を取り組んでみる。

EXERCISE(No. 8426)

コード(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 Robot = (name, owned, year, maker) => {
    let that = {},
        toString = () =>
        `${name} was made by ${maker} in ${year} and is owned by ${owned}`;

    that.toString = toString;
    
    return that;
};

let Robby = (onOffSwitch) => {
    let that = 
        makeCoffee = () => 'Robby: makeCoffee';

    that.makeCoffee = makeCoffee;
    
    return that;
};
let output = () => {
    let robby = Robot('Robby', 'Dr. Morbius', 1956),
        rosie = Robot('Rosie', 'George Jetson', 1962);

    robby.makeCoffee = () => p('makeCoffee');
    robby.blinkLights = () => p('blinkLights');

    rosie.cleanHouse = () => p('cleanHouse');
    p(robby);
    robby.makeCoffee();
    robby.blinkLights();

    p(rosie);
    rosie.cleanHouse();
};

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

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

output();





    







						

0 コメント:

コメントを投稿