replaceの引数

replaceの置換で関数を使った場合、その関数に渡る引数の数は3つあるらしい。
実際に置換する数だけalertを使って表示させてみたら

var str = 'aabaacaadaae';
str.replace(/[b-e]/ig, function() {
	alert([
		arguments[0],
		arguments[1],
		arguments[2]
	].join('\n'));
});


結果がこれ

[1回目]
b
2
aabaacaadaae

[2回目]
c
5
aabaacaadaae

[3回目]
d
8
aabaacaadaae

[4回目]
e
11
aabaacaadaae

第一引数: 置換する文字列
第二引数: 置換する文字列の位置(左から0で始まる)
第三引数: 検索対象の文字列


でした。