Decorator

Decorator

by Alexey

JavaScript

var weekdays = ["понедельник","вторник","среда","четверг","пятница","суббота","воскресенье"];

function getDay(num) {
    return weekdays[num];
}

// универсальные декорар
function wrapDecorator(f, startTag, closeTag) {
    return function(num) { // возвращаем обертку
    console.log(arguments)
        return startTag + f.apply(null, arguments) + closeTag;
    }
}

// Использование декоратора

var getDayInDiv = wrapDecorator(getDay,"<div>","</div>");
var getDayInSpan = wrapDecorator(getDay,"<span>","</span>");


for ( var i = 0; i < 7; i++ ) {
    //getDayInDiv(i);
}

for ( var i = 0; i < 7; i++ ) {
    console.log(getDayInSpan(i));
}