gpt4 book ai didi

javascript - 使用 charCodeAt 转换时出现 NaN 错误

转载 作者:行者123 更新时间:2023-12-03 01:13:55 24 4
gpt4 key购买 nike

如何解决此问题(警报 Encrypted)值为 NaN

function Encrypt() {
var Plaintext = document.getElementById("txt").value;
var Key = Math.floor(Math.random() * 26) + 1;
var Chaesarshifted = caesarShift(Plaintext,Key);//i just didn't paste Chaesarshift code
var Encrypted;
alert(Chaesarshifted);
for (let index = 0; index < Chaesarshifted.length; index++) {
Chaesarshifted.toLowerCase();
//till here everything works fine
Encrypted += Chaesarshifted.charCodeAt(index) - 96;
}
alert(Encrypted);// Alert says NaN
}

最佳答案

未设置加密的初始值。因此,当您尝试 += 时,它不知道如何处理该操作。

您应该将 Encrypted 填入空字符串 "" 作为起始值。

然后,在 for 循环内,Chaesarshifted.toLowerCase(); 不会设置该值,但必须存储该值。

此外,您的逻辑已关闭以附加加密文本。您需要将字符更改回 unicode 字符。或者甚至可能构建一个数组以便稍后连接。

最后,您应该以小写字母开头变量名称以遵循约定。

把它们放在一起:

function Encrypt() {
var plaintext = document.getElementById("txt").value;
var key = Math.floor(Math.random() * 26) + 1;
var chaesarshifted = caesarShift(plaintext,Key); //missing chaesarshift code
var encrypted = "";
alert(chaesarshifted);
chaesarshifted = chaesarshifted.toLowerCase();
for (let index = 0; index < chaesarshifted.length; index++) {
//missing code
encrypted += String.fromCharCode(chaesarshifted.charCodeAt(index) - 96);
}
alert(encrypted);// Alert will show garbled text (offset values from chaesarshift str)
}

编辑:感谢 Barmar's comment让我更多地思考这个问题。

关于javascript - 使用 charCodeAt 转换时出现 NaN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52103699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com