Кодирование строки и отображение вывода строки в Javascipt - PullRequest
0 голосов
/ 26 февраля 2020

Я пишу код для кодирования строки, и он надеется отобразить закодированную строку в div. Однако это ничего не показывает. Могу ли я узнать, что не так с моим кодом? Спасибо.

HTML:

<div id="c"></div>

Javascript:

function encode() {
  var a = "abcde";
  a = unescape(a);
  var c = String.fromCharCode(a.charCodeAt(0) - a.length);
  for(var i = 1; i < a.length; i++){
    c += String.fromCharCode(a.charCodeAt(i) - c.charCodeAt(i - 1));
  }
  return c;
  document.write(c)
}

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Вы записываете вывод в документ после возврата из функции. Попробуйте что-то вроде этого:

function encode (){
  var a = "abcde";
  a = unescape(a);
  var c = String.fromCharCode(a.charCodeAt(0) - a.length);
  for(var i=1; i<a.length; i++){
      c+=String.fromCharCode(a.charCodeAt(i) - c.charCodeAt(i-1));
  }
  return c;
}

document.getElementById("c").innerText = encode();
<div id="c"></div>
0 голосов
/ 26 февраля 2020

Вы звоните document.write() после ваша функция уже вернулась. Таким образом, эта строка никогда не выполняется.

Либо:

  • Переместите return в конец функции
  • Пусть вызывающий код захватит возвращаемое значение и их это называет document.write()
...