C#의 string.Format()에서 유래
String.prototype.format = function(args) {
if (arguments.length>0) {
var result = this
if (arguments.length == 1 && typeof (args) == " object" ) {
for (var key in args) {
var reg=new RegExp ("({" key "})","g");
result = result.replace(reg, args[ 키])
}
}
else {
for (var i = 0; i < 인수.길이; i ) {
if(arguments[i]== 정의되지 않음)
{
return "";
}
else
{
var reg=new RegExp ("({[" i "]})","g") ;
result = result.replace(reg, 인수[i]);
}
}
}
return result;
}
else {
return this ;
}
}
예:
//두 가지 호출 방법
var template1="나는 {0}이고 올해 {1}입니다."
var template2="나는 {name입니다. }, 저는 올해 {age}입니다. ";
var result1=template1.format("logn",22);
var result2=template1.format({name:"logn",age:22 });
//결과 2개는 모두 "저는 로그인입니다. 올해 22살입니다."