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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM