1. 程式人生 > >js字符串使用占位符拼接小結

js字符串使用占位符拼接小結

repl es6 反向 nbsp select true abc urn james

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, 總冠軍

js字符串使用占位符拼接小結