JS字符串拼接方法
为了解决拼接字符串的时候混乱的加号,根据printf函数设计了这个buildString函数
function buildString(str,paraList){
//占位符前后修饰符
var prefix="\\{\\{", surfix="\\}\\}";
//正则表达式字符串
var regStr = prefix + "(.+?)" + surfix;
//新建正则表达式
var regExp = new RegExp(regStr,"mg");
if (!str){
//没有参数时返回空字符串
return "";
}
else if (str && arguments.length == 1){
//只有一个参数时返回本身
return str;
}
else if (arguments.length >= 2 && ((typeof paraList) == "string")){
//字符串传参数时转换参数变成数组
paraList = Array.prototype.splice.call(arguments,1);
return bulidStr(str,paraList);
}else{
//数组或对象传参数
return bulidStr(str,paraList);
}
//功能函数,替换并返回
function bulidStr(str,paraList){
var ret = str.replace(regExp,function(full,key){
return paraList[key];
});
return ret;
}
}
使用:
//使用对象传参,占位符使用属性名
var id="myID",myclass="myclass";
buildString("<div id=\'{{id}}\' class=\'{{myclass}}\' ></div>",{id:id,myclass:myclass});
//输出: "<div id=\'myID\' class=\'myclass\' ></div>"
//使用数组传参,占位符使用数组下标
var id="myID",myclass="myclass";
buildString("<div id=\'{{0}}\' class=\'{{1}}\' ></div>",[id,myclass]);
//输出: "<div id=\'myID\' class=\'myclass\' ></div>"
//使用字符串传参,占位符使用下标,字符串一次传入,位置从0开始
var id="myID",myclass="myclass";
buildString("<div id=\'{{0}}\' class=\'{{1}}\' ></div>",id,myclass);
//输出: "<div id=\'myID\' class=\'myclass\' ></div>"
版权声明:本文为cnjs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。