自己改写的String.Format方法
String.Format = function(str) {
var reg;
var args;
//自定义一个undifined,增快速度
var undifined;
if (arguments[1] && typeof (arguments[1]) == "object") {
reg = new RegExp("\\{([^\\d]\\w*)\\}", "g");
args = arguments[1];
}
else {
reg = new RegExp("\\{(\\d+)\\}","g");
//将arguments转换成数组然后赋值给args
args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length-1;i++)
{
args[i]=args[i+1];
}
//将args的第一个值移除,因为第一个值是需要被正则匹配的字符串
args[i]=undifined;
}
return str.replace(reg, function() {
var val = args[arguments[1]];
return val == undifined ? arguments[0] : val;
});
};
alert(String.Format("{0},{1},{2}","aa","bb"))
alert(String.Format("{aa},{bb}",{aa:123,bb:456}))
var reg;
var args;
//自定义一个undifined,增快速度
var undifined;
if (arguments[1] && typeof (arguments[1]) == "object") {
reg = new RegExp("\\{([^\\d]\\w*)\\}", "g");
args = arguments[1];
}
else {
reg = new RegExp("\\{(\\d+)\\}","g");
//将arguments转换成数组然后赋值给args
args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length-1;i++)
{
args[i]=args[i+1];
}
//将args的第一个值移除,因为第一个值是需要被正则匹配的字符串
args[i]=undifined;
}
return str.replace(reg, function() {
var val = args[arguments[1]];
return val == undifined ? arguments[0] : val;
});
};
alert(String.Format("{0},{1},{2}","aa","bb"))
alert(String.Format("{aa},{bb}",{aa:123,bb:456}))