Javascript页面冻结
我有一个javascript代码的问题,这是一个代码运行时,我点击一个按钮。 JAVASCRIPT代码Javascript页面冻结,javascript,Javascript,我有一个javascript代码的问题,这是一个代码运行时,我点击一个按钮。 JAVASCRIPT代码 var key = ''; var c = 22; var size = data[7].length; for(var t = 22; t < size; ++t){ while(!(data[7][c] === "&l
var key = '';
var c = 22;
var size = data[7].length;
for(var t = 22; t < size; ++t){
while(!(data[7][c] === "<")){
key += data[7][c];
++c;
}
}
var key = '';
var c = 22;
var size = data[7].length;
for(var t = 22; t < size; ++t){
while(!(data[7][c] === "<")){
key += data[7][c];
++c;
}
t = c; //NEW LINE
}
var-key='';
var c=22;
变量大小=数据[7]。长度;
对于(变量t=22;t
而(!(数据[7][c]=="提示:这是因为循环最终变得无限大。准确地说,在点上,当while
条件不再为真,并且t
和c
仍然小于大小
提示:这是因为循环最终变得无限大。准确地说,在点上,当while
condition不再是真的,t
和c
仍然小于size
您应该提供更多详细信息,例如数据
数组的值。您还可以尝试通过执行控制台.log
并在每个循环中打印t&c的值来调试问题。您可以尝试使用b中的调试工具rowser在t=c
上设置一个断点,看看t
设置了什么值。我猜c
总是小于size
,所以你的for
循环永远不会存在如果代码工作正常,为什么要添加那一行呢?事实上,只要内部while循环没有完成你需要的任务,它就会执行一次这样做,那么它就不起作用了。您应该提供更多详细信息,例如数据
数组的值是多少。您还可以尝试通过执行控制台.log
并在每个循环中打印t&c的值来调试问题。您可以尝试使用浏览器中的调试工具在t=c
上设置断点,并查看t
的值>设置为。我的猜测是c
总是小于size
,因此您的for
循环永远不会存在如果代码工作正常,为什么要添加该行?事实上,内部while循环只会执行一次,如果它不执行您需要它执行的操作,那么它就不工作。在循环结束时发现错误,t值重置s@pol是的,这是一个愚蠢的错误,在循环t值的末尾发现了这个错误resets@pol没错,加上那一行之后,人们怎么会期望它不会重置呢?:)是的,这是一个愚蠢的错误
var key = '';
var c = 22;
var size = data[7].length;
for(var t = 22; t < size; ++t){
while(!(data[7][c] === "<")){
key += data[7][c];
++c;
}
t = c; //NEW LINE
}