Tag: rot13

我在JavaScript中的单行实现rot13在哪里出错?

有问题的代码在这里语法突出显示: 通过Friendpaste rot13.js: <script> String.prototype.rot13 = rot13 = function(s) { return (s = (s) ? s : this).split('').map(function(_) { if (!_.match(/[A-Za-z]/)) return _; c = Math.floor(_.charCodeAt(0) / 97); k = (_.toLowerCase().charCodeAt(0) – 96) % 26 + 13; return String.fromCharCode(k + ((c == 0) ? 64 : 96)); }).join(''); }; </script> 正如你所看到的,使用一个简单的方法将一个方法附加到string对象的原型,我有一个我以前设置的map()方法(我确信这个代码是完美的,它只是简单的迭代数组中的每个元素并应用参数中指定的函数)遍历string中的每个字符,并执行我认为是正确的计算,以将string转换为它的rot13对应的string。 我很遗憾错误。 任何人都可以发现我出错的地方吗?