关于replace中函数形参的问题
来源:4-3 转驼峰
粉墨登场
2020-11-16 16:18:54
# 具体遇到的问题
老师,replace中会将正则中加上括号的分组自动传入自己的匿名函数,下面给的代码中all并没有用到。是因为all是占位符吗?因为匿名函数中的第一个形参是正则表达式中忽略括号分组的母匹配,第二个开始才依次是括号分组。如果只有一个形参就代表是母匹配(也就是-c), -c转为大写就错了。 所以说all是个占位符。请问老师是这样理解吗?
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
var css = 'background-color';
console.log(css.replace(/-([a-z])/gi, function(all, letter) {
alert(all); // 我也弹出了一下all, 弹出的是-c。 也就是忽略括号的母匹配
return letter.toUpperCase();
}));
1回答
同学你好,是的,理解没有问题。replace方法中匿名函数参数代表意思固定,所以即使不使用all,也需要写上。
祝学习愉快!
相似问题