⽤js参数实现模板替换机制
Ext中为String扩展了⼀个静态⽅法format⽤于实现对字符串类模板机制的格式化。
如String.format("{0},{1},{2}","a","b","c");返回a,b,c。
看了⼀下其实现⽅式觉得⽐较优雅,⽽且该函数在实际当中也很有实⽤价值,于是⾃⼰就将其略加改造,实现对字符串的模板替换。
代码如下:
plate=function(){
var args=arguments;
place(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
var a="arg1:{0},arg2:{1},arg3:{2}";
plate("a","b","c"));  //arg1:a,arg2:b,arg3:c
js argumentsplate("1","2","3")); //arg1:1,arg2:2,arg3:3
主要⽤replace+巧妙的正则实现。
调⽤⽅式很简单,⾸先建⽴⼀个模板字符串。如a="{0},{1}",每个模板字符⽤{数字}表⽰。
然后直接调⽤a.template("arg1","arg2","arg3");
传⼊的参数与模板中定义的模板字符会对应着被替换。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。