我正在阅读Nike Cantelon的一本名为Node.js in Action的书,并坚持使用可配置的记录器实现:
当使用String.prototype.replace()时,我们将一个函数(match,property)设置为第二个参数,我对它的作用一无所知。谁能解释一下什么功能(匹配,属性)呢?编写代码的方式并没有让我对此有所了解..
function setup(format){
let regex = /:(\w+)/g;
return function logger(req, res, next){
let str = format.replace(regex, (match, property) => {
return req[property];
});
console.log(str);
next();
}
}
module.exports = setup;
答案 0 :(得分:0)
String.replace()函数有两个参数:searchvalue
和newvalue
。这意味着您正在format
字符串中搜索特定模式。找到后,它将替换为req[property]
的值。因此该函数将property
作为其参数,然后将其用作req
对象的键,获取值并替换format
字符串中找到的外观。