我试图使用户输入的字符串反向显示

时间:2018-03-19 21:24:46

标签: javascript

有人可以帮我弄清楚我做错了什么吗?当我运行它时,它将不会显示。

<html>

<head>
  <script>
    function reverseMyString() {
      string = parseInt(prompt("Enter a String"));
      var str = string;
      var reverseStr = "";
      for (var i = str.length - 1; i >= 0; i--)
        reverseStr += str[i];
      document.write("Reversed String =" + reverseStr);
    }
  </script>
</head>

<body>
  <button type="button" onclick="reverseMyString()">Click here to reverse a String</button>
</body>

</html>

2 个答案:

答案 0 :(得分:3)

输入字符串不必要parseInt

string = parseInt(prompt("Enter a String"));
         ^

删除该调用,您的逻辑将按预期工作,因为将被视为字符串而不是数字(整数)。

&#13;
&#13;
<html>

<head>
  <script>
    function reverseMyString() {
      var str = prompt("Enter a String");
      var reverseStr = "";
      for (var i = str.length - 1; i >= 0; i--)
        reverseStr += str[i];
        
      document.write("Reversed String =" + reverseStr);
    }
  </script>
</head>

<body>
  <button type="button" onclick="reverseMyString()">Click here to reverse a String</button>
</body>

</html>
&#13;
&#13;
&#13;

除了注意:

您不需要将输入的值重新分配给新变量:

string = parseInt(prompt("Enter a String"));
var str = string;
    ^^^^^^^^^^^^

答案 1 :(得分:2)

如果你想要一个字符串,你不必将其解析为整数。

下面的代码将字符串拆分为数组,然后使用内置的reverse()函数将其反转,然后再将其连接到字符串中。

function reverseMyString() {
  var string = prompt("Enter a String");

  var reverseStr = string.split("").reverse().join("");

  console.log(reverseStr);

}
<button type="button" onclick="reverseMyString()">Click here to reverse a String</button>