### Таблица умножения ##### http://homework.pavelefimen95.fe.a-level.com.ua/js07/MultiplytTable1-files ### Подсветить ячейку ##### http://homework.pavelefimen95.fe.a-level.com.ua/js07/MultiplytTable2-files ### Подсветить строку и столбец ##### http://homework.pavelefimen95.fe.a-level.com.ua/js07/MultiplytTable3-files ### makeProfileTimer ```javascript function doSomething(){ return 2 + 2; } var timer = makeProfileTimer(doSomething) function makeProfileTimer(doSomething){ var t1 = performance.now(); doSomething(); var t2 = performance.now(); return function(){ return t2 - t1; } } alert(timer()); ``` ### makeSaver ```javascript function makeSaver(rand){ var res = rand(); return function(){ return res; } } var saver = makeSaver(Math.random); var value1 = saver(); var value2 = saver(); console.log(value1); console.log(value2); console.log(value1 === value2); ``` ### Final Countdown ```javascript var counter = (function(){ var i = 5; return function(){ if(i === 0) console.log("Поехали!"); else{ console.log(i--); again(); } } })(); function again(){ setTimeout(counter, 1000); } again(); ``` ### myBind ```javascript function myBind(func,object,arr){ return function(val){ if(arr[0] === undefined) arr[0] = val; return func.apply(object,arr); } } var pow5 = myBind(Math.pow, Math, [undefined, 5]); var cube = myBind(Math.pow, Math, [undefined, 3]); console.log(pow5(2)); console.log(cube(3)); var zeroPrompt = myBind(prompt, window, [undefined, "0"]); var someNumber = zeroPrompt("Введите число"); console.log(someNumber); ```