【问题标题】:Arrow function in javascript's replace function [duplicate]javascript替换函数中的箭头函数[重复]
【发布时间】:2020-11-08 06:40:25
【问题描述】:

我有一个非常简单的代码,可以将每个字母转换为小写,然后使用 RegExp 为每个第一个字母设置大写:

let quote = 'I dO nOT lIke gREen eGgS anD HAM';
let fixQuote = quote.toLocaleLowerCase('en-US');

let regex = /(^\w|\s\w)/g;

let fixedQuote = fixQuote.replace(regex, m => m.toUpperCase());

有人能解释一下箭头函数m => m. 在这部分中的作用吗? 我不明白m 在这里代表什么。

谢谢!

【问题讨论】:

  • 它将每个匹配项替换为其大写等效项。
  • String#replace()文档中有解释
  • 是这样的function f(m){return m.toUpperCase();}

标签: javascript regex string replace


【解决方案1】:

它只是一个匿名函数的内部变量:

  • m是参数变量regex
  • m.toUpperCase() 是返回值。

基本相同:

function toUpperCase(m){
    return m.toUpperCase();
}

【讨论】:

    【解决方案2】:

    在这种情况下,m 只是一个函数的参数,所以是一个变量名。你可以想象这个函数是这样写的:

    function toUpperCase(m) {
       return m.toUpperCase();
    }
    

    您的正则表达式找到的每个匹配项都将作为参数传递给函数。变量 m 将保存该值。

    【讨论】:

      猜你喜欢
      • 2021-03-29
      • 2023-03-08
      • 2020-03-07
      • 2023-03-12
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      相关资源
      最近更新 更多