有问题的代码在此处突出显示语法:通过 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() 方法(我确信该代码可以完美运行;它只是遍历数组中的每个元素并应用参数中指定的函数)遍历字符串中的每个字符并执行我认为正确的计算以将字符串转换为它的 rot13'd 对应物。可悲的是,我错了。谁能发现我哪里出错了?