this.replace( new RegExp( replaceThis, 'g' ), withThis );
Если ваша функция обратного вызова была объявлена в другом месте:
function forEachCallback(value, i, array) {
// ...
}
Тогда он понятия не имеет, какой массив используется для:
someArray.forEach(forEachCallback);
Поскольку массив равен передан как последний аргумент, такой обратный вызов имеет к нему доступ.
Обратный вызов не обязательно должен быть в той же области, что и вызов forEach
. В таком случае третий параметр гарантирует, что обратный вызов имеет некоторую ссылку на этот массив.