テンプレート

http://phpspot.org/blog/archives/2006/08/javascriptrnd.html
http://la.ma.la/blog/diary_200512291411.htm

function Template(src) {
  var tmpl = new String(src);
  tmpl.merge = function(ns) {
    var fn = function(w, g) {
      g = g.split("|");
      var cnt = ns[g[0]];
      for(var i=1; i < g.length; i++)
        cnt = eval(g[i])(cnt);
      return cnt || w;
    };

    return tmpl.replace(/%\(([A-Za-z0-9_|.]*)\)/g, fn);
  };

  return tmpl;
}

var tmpl = new Template('<a href="%(link)">%(value)</a>');
var ns = {'link': 'http://amix.dk', 'value': 5.5};
print( tmpl.merge(ns) );

↑こうしたいと思うのは頭がじゃばじゃばしてるせいかも。
Stringを拡張したほうがいいかな…