我知道可能还有其他方法可以执行此操作,但是我真的很想知道为什么这段代码无法正常工作。 它确实做一些反向操作,但是输出错误。这个想法只是在文本框中输入一个字符串,当按下按钮时,它应该反转,在这种情况下,显示在警报框中。
<input type="text" id="invoer"><input type="button" value="Display" onclick="reverseString()">
<script>
function reverseString() {
var length = document.getElementById("invoer").value.length;
var reverse = new String;
for(i=length-1;i>=0;i--) {
reverse += document.getElementById("invoer").value.substring(i,1);
}
alert(reverse);
}
</script>
答案 0 :(得分:0)
在每次迭代中,您都将字符串从开头返回到索引i。更改此行:
reverse += document.getElementById("invoer").value.substring(i, 1);
此行:
reverse += document.getElementById("invoer").value.substring(i, i+1);
这是一个完整的有效代码段:
function reverseString() {
var length = document.getElementById("invoer").value.length;
var reverse = new String;
for(i = length - 1; i >= 0; i--) {
reverse += document.getElementById("invoer").value.substring(i, i+1);
}
alert(reverse);
}
<input type="text" id="invoer"><input type="button" value="Display" onclick="reverseString()">