我试图创建一个简单的编解码游戏,它编码和解码用户输入的word,如下所示:
例如:溢出-> 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);<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>
发布于 2016-12-31 19:08:00
您的for循环是无限的:for (var i=0; i<letterArray.length; i+2)
你可能最终想要像i = i + 2这样的东西。
每当JS死了而您没有看到一个错误,它很可能是一个无限循环发生在某个地方。新年快乐!
https://stackoverflow.com/questions/41411020
复制相似问题