Javascript凯撒密码算法代码需要分解吗?

Javascript凯撒密码算法代码需要分解吗?,javascript,Javascript,我是一个自由露营者。我需要一个帮助来理解下面的代码是如何工作的,这是一个高级解决方案 函数rot13(str){//LBH QVQ VG! str.replace(/[A-Z]/g,L=>String.fromCharCode((L.charCodeAt(0)%26)+65)); } //将下面的输入更改为测试 console.log(rot13(“AAA!”)L=>声明了一个,它是用于以下内容的简写语法: function(L) { return String.fromCharCod

我是一个自由露营者。我需要一个帮助来理解下面的代码是如何工作的,这是一个高级解决方案

函数rot13(str){//LBH QVQ VG!
str.replace(/[A-Z]/g,L=>String.fromCharCode((L.charCodeAt(0)%26)+65));
}
//将下面的输入更改为测试

console.log(rot13(“AAA!”)
L=>
声明了一个,它是用于以下内容的简写语法:

function(L) {
    return String.fromCharCode((L.charCodeAt(0) % 26) + 65));
}
当您在
String.prototype.replace()
中使用函数作为替换参数时,将在正则表达式的每个匹配项上调用该函数,并将返回值用作替换

因此正则表达式匹配
str
中的每个大写字母。它调用该函数,该函数使用模和加法计算新字符代码,将其转换回一个字符,然后返回的字符成为替换字符

但是,该函数不能像编写的那样工作——它需要返回
str.replace()
的结果

函数rot13(str){//LBH QVQ VG!
返回str.replace(/[A-Z]/g,L=>String.fromCharCode((L.charCodeAt(0)%26)+65));
}
//将下面的输入更改为测试

console.log(rot13(“ABMNTZ!”)
L=>
声明了一个,它是用于以下内容的简写语法:

function(L) {
    return String.fromCharCode((L.charCodeAt(0) % 26) + 65));
}
当您在
String.prototype.replace()
中使用函数作为替换参数时,将在正则表达式的每个匹配项上调用该函数,并将返回值用作替换

因此正则表达式匹配
str
中的每个大写字母。它调用该函数,该函数使用模和加法计算新字符代码,将其转换回一个字符,然后返回的字符成为替换字符

但是,该函数不能像编写的那样工作——它需要返回
str.replace()
的结果

函数rot13(str){//LBH QVQ VG!
返回str.replace(/[A-Z]/g,L=>String.fromCharCode((L.charCodeAt(0)%26)+65));
}
//将下面的输入更改为测试

console.log(rot13(“ABMNTZ!”)看起来这里缺少了一些东西:
它通过计算新字符代码,
看起来这里缺少一些东西:
它通过计算新字符代码,