第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

尋求凱撒密碼的解釋

尋求凱撒密碼的解釋

慕俠2389804 2023-10-14 09:54:01
在嘗試(但失敗)為奧丁項(xiàng)目練習(xí)編寫凱撒密碼作業(yè)后,我最終屈服并查找答案。不過(guò),我不太明白。我正在尋求對(duì)每一行的作用及其工作原理的解釋。我復(fù)制的代碼對(duì)每一行的作用有一些簡(jiǎn)短的描述,但我仍然不明白它是如何工作的。const caesar = function (str, amount) {        // Wrap the amount        if (amount < 0) {          return caesar(str, amount + 26);        }              // Make an output variable        var output = "";              // Go through each character        for (var i = 0; i < str.length; i++) {          // Get the character we'll be appending          var c = str[i];                // If it's a letter...          if (c.match(/[a-z]/i)) {            // Get its code            var code = str.charCodeAt(i);                  // Uppercase letters            if (code >= 65 && code <= 90) {              c = String.fromCharCode(((code - 65 + amount) % 26) + 65);            }                  // Lowercase letters            else if (code >= 97 && code <= 122) {              c = String.fromCharCode(((code - 97 + amount) % 26) + 97);            }          }                // Append          output += c;        }              // All done!        return output;      };
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

第一個(gè) if 語(yǔ)句:

if (amount < 0) {
  return caesar(str, amount + 26)
}

通過(guò)調(diào)用自身來(lái)確保移位量為 0 及以上,直到達(dá)到 0 為止。然后下面的行循環(huán)遍歷整個(gè)字符串中的所有字符。

for (var i = 0; i < str.length; i++) {

對(duì)于每個(gè)字符,它使用一種稱為正則表達(dá)式的東西檢查它是否是一個(gè)字母(谷歌了解更多信息)

if (c.match(/[a-z]/i)) {

線路

var code = str.charCodeAt(i);

獲取表示字符串中位置“i”處的字符的數(shù)字。數(shù)字是計(jì)算機(jī)表示字母和其他字符的方式。大寫和小寫字符有兩個(gè)完全不同的數(shù)字與之關(guān)聯(lián)。這就是下面兩個(gè) if 語(yǔ)句的用途。我將解釋小寫字母的情況,您應(yīng)該也能看到大寫字母的工作原理。

c = String.fromCharCode(((code - 65 + amount) % 26) + 65);

首先從數(shù)字中減去 65。這是因?yàn)榈谝粋€(gè)小寫字母“a”的值為 65。之后它將結(jié)果移動(dòng)“amount”。% 符號(hào)可能看起來(lái)很奇怪。但它所做的只是將兩側(cè)相除并返回“其余部分”,即剩余數(shù)。例如如果我們寫:

5 % 2

它等于 1。這樣做是為了“循環(huán)”數(shù)字并將其保持在 0 到 26 之間。之后,它加回 65 并將數(shù)字轉(zhuǎn)回字符。最后一行:

output += c;

將字符添加到結(jié)果字符串中。希望這對(duì)您有所幫助!


查看完整回答
反對(duì) 回復(fù) 2023-10-14
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)