javascript String.format实现:挺精巧的,其中关键一点是replace方法的参数(可以为RegExp),以及js的闭包。如果对闭包有疑惑请Google一下。
代码分析:
String.prototype.format
=
function
()
{
var args = arguments;
return this .replace( / \{(\d+)\} / g,
function (s,i){
document.writeln( " s: " + s + " i: " + i); // 输出相应的参数 结果:s:{0}i:0 s:{1}i:1
return args[i];
});
}
alert( " {0}-{1} " .format( " 1 " , " 2 " )); // 输出结果
{
var args = arguments;
return this .replace( / \{(\d+)\} / g,
function (s,i){
document.writeln( " s: " + s + " i: " + i); // 输出相应的参数 结果:s:{0}i:0 s:{1}i:1
return args[i];
});
}
alert( " {0}-{1} " .format( " 1 " , " 2 " )); // 输出结果
来源参考:
V1:
V2:
String.replace的特殊用法:
String.replace的妙用: