我正在尝试创建一个简单的编码器 - 解码器游戏,它对用户输入的单词进行编码和解码,如下所示:
例如。 溢出 - > ofvleorw - >溢出(userword - > encodedword - > decodedword)。
我遇到的问题是编码器部分工作正常,但是当点击解码按钮时,开发人员工具会在几秒后崩溃。我不确定真正的问题是什么,因为我在控制台上看到没有错误信息所以我唯一的猜测是标题标题。
谢谢你,2017年新年快乐
function encoder(){
var userWord = document.getElementById("userinputbox").value; // gets user entered word
var letterArray = userWord.split("");
var encodedWord = [];
for (var i=0; i<letterArray.length/2; i++) {
encodedWord.push(letterArray[i],letterArray[letterArray.length/2 + i]);
} // pushing elements sequentially from first and second half of original array to new empty array
displayResult.value = encodedWord.join("");
}
function decoder() {
var encodedWord = displayResult.value; // extracts the encoded text from display box
var letterArray = encodedWord.split("");
var half1 = [], half2 = []; // array for storing even and odd index elements from letterArray
for (var i=0; i<letterArray.length; i+2) {
half1.push(letterArray[i]);
half2.push(letterArray[i+1]);
}
var decodedWord = half1.concat(half2);
displayResult.value = decodedWord.join(""); // overwriting the displaybox with new string
}
var displayResult = document.getElementById('displaybox'); // box to show results
var encodeBtn = document.getElementById('encode'); // event-listener 'Encode' btn
encodeBtn.addEventListener("click", encoder);
var decodeBtn = document.getElementById('decode'); // event-listener 'Decode' btn
decodeBtn.addEventListener("click", decoder);
&#13;
<body>
Enter word (even number of letters) :<input type="text" id="userinputbox"><br>
<input type="button" value="Encode" id="encode">
<input type="button" value="Decode" id="decode">
Results :<input type="text" id="displaybox" value="">
</body>
&#13;
答案 0 :(得分:0)
您的for
循环无限:for (var i=0; i<letterArray.length; i+2)
最后你可能想要i = i + 2
这样的东西。
每当JS死亡并且您没有看到错误时,它可能会在某处发生无限循环。 新年快乐!