这段代码为什么总是报这个错误?

function rot13(str) {
  var codetemp = 0;
  for(var i = 0;i < str.length;i++) {
    codetemp = Number(str.charCodeAt(i));
    if(codetemp >= 65 && codetemp <= 77) {
      codetemp += 13; 
    } 
    else if(codetemp >= 78 && codetemp <= 90) {
      codetemp -= 13;
    }

    str[i] = String.fromCharCode(codetemp);
    
  }
  return str;
}

rot13("SERR PBQR PNZC");

图片描述

图片描述

阅读 1.5k
1 个回答

字符串单个字符是不能被赋值的,好的做法是重新生成一个字符串

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题