Функция-декоратор
by Artem
JavaScript
'use strict';
var makingArray, loggingDecorator;
makingArray = function(num) {
var arr = [];
for (let i = num; i--;) {
arr.push(i);
}
return arr;
};
loggingDecorator = function(func) {
return function() {
var arr = new Array();
arr.push(Date.now());
func.apply(this, arguments);
arr.push(Date.now());
return 'Exectuting time: ' + (arr[1] - arr[0]);
};
};
var foo = loggingDecorator(makingArray);
console.log(foo(200000));