perl风格的变量替换有更好的可读性,普通的javascript编程中+号很多,让人眼花缭乱。好消息,我们可以用正则表达式来帮助实现编程风格的转换。
下面的例子中规定${}内的字符串是变量名,定义varReplace原型函数实现变量替换:
- String.prototype.varReplace = function(){
- var pttrn = /\${(\w+)}/g;
- return this.replace(pttrn,function(a,b){return eval(b)});
- }
- var myVar1 = "#00ff11";
- var myVar2 = "测试";
- var myStr1 = '<font color="${myVar1}"><b>${myVar2}</b></font>';//perl风格
- var myStr2 = '<font color="'+myVar1+'"><b>'+myVar2+'</b></font>';//javascript风格
- iJs.pt("myStr1.varReplace()");
- iJs.pt("myStr2");
调试信息:
myStr1.varReplace() 测试
myStr2 测试
myStr1.varReplace() 测试
myStr2 测试
本文转自 hexiaini235 51CTO博客,原文链接:http://blog.51cto.com/idata/1108042,如需转载请自行联系原作者