Javascript 当传递innerHTML和(this.id)时,循环不会终止
我正在写一个函数,它应该用给定参数的某个值替换某个位置的某个字符。但是,当我试图调用另一个函数内部的函数时。这是一个家庭作业,我几乎可以肯定,我已经正确地写了循环,但感觉好像我看得太多了。this.id.charattthis.id.length-1应该获取元素id的最后一个字母,并将其传递给函数。this.innerHTML用于获取HTML的内容并将其传递到updateBoardState函数中Javascript 当传递innerHTML和(this.id)时,循环不会终止,javascript,loops,Javascript,Loops,我正在写一个函数,它应该用给定参数的某个值替换某个位置的某个字符。但是,当我试图调用另一个函数内部的函数时。这是一个家庭作业,我几乎可以肯定,我已经正确地写了循环,但感觉好像我看得太多了。this.id.charattthis.id.length-1应该获取元素id的最后一个字母,并将其传递给函数。this.innerHTML用于获取HTML的内容并将其传递到updateBoardState函数中 我的教授打字打错了 function updateBoardState(newMark, squa
我的教授打字打错了
function updateBoardState(newMark, squareNumber)
{
var boardState;
var loc;
var winners;
winners = getWinningCombinations();
boardState = getBoardState();
loc = winners.indexOf(squareNumber);window.alert(loc);
while(loc >= 0)
{
boardState = replaceCharacterInString(boardState, loc, newMark);
loc = boardState.indexOf(squareNumber);
}
setBoardState(boardState);window.alert(setBoardState(boardState));
}
什么是ReplaceCharacterInstalling它将只替换字符串中的一个字符。示例:replaceCharacterInstallingHello,1,x应返回Hxllo。源是原始字符串,哪里是要替换的字符号,要替换的字符是什么。我认为问题是您正在替换loche的内容,而不是替换squareNumber,所以loc总是相同的数字?流程图上说搜索下一个出现的方号,并将字符号存储在匹配开始的位置。这是对updateBoardState函数的while循环内部的引用。
function updateBoardState(newMark, squareNumber)
{
var boardState;
var loc;
var winners;
winners = getWinningCombinations();
boardState = getBoardState();
loc = winners.indexOf(squareNumber);window.alert(loc);
while(loc >= 0)
{
boardState = replaceCharacterInString(boardState, loc, newMark);
loc = boardState.indexOf(squareNumber);
}
setBoardState(boardState);window.alert(setBoardState(boardState));
}