Итак, Раушмайер проделал большую работу, обучая JS, но я не могу сосредоточиться на этих двух маленьких злодеях:
function insertName(str, name) {
return str.replace(
/NAME/g,
function (completeMatch, offset) {
if (offset === 0 ||
(offset > 0 && str[offset-1] !== '"')) {
return name;
} else {
return completeMatch;
}
}
);
}
function insertName(str, name) {
var tmpPrefix = ' ';
str = tmpPrefix + str;
str = str.replace(
/([^"])NAME/g,
function (completeMatch, prefix) {
return prefix + name;
}
);
return str.slice(tmpPrefix.length); // remove tmpPrefix
}
Может кто-нибудь объяснить мне, как он передает параметр смещения в первом примере, и чтопроисходит с этим?Что означает префикс параметра во втором примере, откуда он взялся?