これはどのように作動しますか?
コード:
a = {
replacers: {
YYYY: function () {
return this.getFullYear();
},
dd: function () {
var me = this,
day = me.getDate();
return (day < 10 ? '0' : '') + day;
},
d: function () {
var me = this;
return me.getDate();
}
},
format: function (date, format) {
var replacers = a.replacers;
// I just added a plus to get multiple digits and it works...
return format.replace(/\{([Yd]+)\}/g, function (str, p1) {
var formatter = replacers[p1];
if (formatter)
return formatter.call(date);
});
}
};
document.write(a.format(new Date(), '{dd} {d} {YYYY} {d} {dd}'));
結果:
05 5 2013 5 05
+
を使用して1つ以上の文字を識別するのは正しいですか?
置換機能を拡張する際の落とし穴はありますか?私は主に{xx}
前に試合があるのではないかと心配してい{xxx}
ます。