(function (window) {
function fn(str) {
this.str = str;
}
fn.prototype.format = function () {
var arg = arguments;
return this.str.replace(/\{(\d+)\}/g, function (a, b, c, d) {
console.log(a + "/////" + b + "//////" + c + "/////" + d); // b为什么是0,1,2
return arg[b] || '';
});
}
window.fn = fn;
})(window);
// use
(function(){
var t = new fn('<p><a href="{0}">{1}</a><span>{2}</span></p>');
console.log( t.format('http://www.alibaba.com', 'Alibaba', 'Welcome') );
})();
如上,请问输出b为什么是"{}
"里的内容
详细参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace
中描述那段里的第二段。