用另一个函数覆盖一个函数的结果

时间:2016-12-31 19:04:13

标签: javascript html5

我正在尝试创建一个简单的编码器 - 解码器游戏,它对用户输入的单词进行编码和解码,如下所示:

  

例如。 溢出 - > 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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您的for循环无限:for (var i=0; i<letterArray.length; i+2)

最后你可能想要i = i + 2这样的东西。

每当JS死亡并且您没有看到错误时,它可能会在某处发生无限循环。 新年快乐!