Przykład z Maintainable JS Nickolas C. Zakas str. 61 Pamiętajmy, że metoda replace zamiast drugiego argumentu może przyjąć callback!
/*
<li><a href="%s">%s</a></li>
*/
function sprintf(text) {
var i = 1,
args = arguments;
return text.replace(/%s/g, function() {
return (i < args.length) ? args[i++] : "";
});
}
sprintf('<li><a href="%s">%s</a></li>', 'item/4', 'Some item');