js字符串使用占位符拼接,
由于项目中经常用到jquery拼接字符串,
各种引号很disgusting
所以写了一个占位符拼接的的方法
String.prototype.signMix= function() {
if(arguments.length === 0) return this;
var param = arguments[0], str= this;
if(typeof(param) === 'object') {
for(var key in param
str = str.replace(new RegExp("\\{" + key + "\\}", "g"), param[key]);
return str;
} else {
for(var i = 0; i < arguments.length; i++)
str = str.replace(new RegExp("\\{" + i + "\\}", "g"), arguments[i]);
return str;
}
}
var str1 = "hello {0}".signMix("world"); //hello world
var str2 = "{0}总冠军, {1}总冠军".signMix("湖人", "骑士"); // 湖人总冠军,骑士总冠军
var user = {name: "James",sex: "male",age: 34};
var str3 = "史上第一个30000+8000+8000球员:{name}, 性别{sex}, 今年{age}岁".signMix(user);
//史上第一个30000+8000+8000球员:James, 性别male, 今年34岁
var optionData= {name: "flower",selected:true, spell: "abc", value:"1"};
var optionStr='<option value="{value}" match="{spell}" selected="{selected}">{name}</option>'.signMix(optionData)
//<option value="1" match="abc" selected="true">flower</option>
ES6 反向单引号` 了解一下/微笑脸
var obj={
name: "laker",
msg: "总冠军"
}
var message1=`NBA final, ${obj.name}, ${obj.msg}` // NBA final, laker, 总冠军