NAM*_*E__ 4 javascript jquery loops function
在处理在JQuery上运行的语法高亮显示器时,我发现了一个相当奇怪的问题.我创建的函数似乎几乎破坏了它所放置的任何循环.但是,在循环之外,它的工作完全正常.
有问题的功能是:
function findQuoted(s)
{
var Quote = 0;
var F = 0;
var L = 0;
var Strings = Array();
for(i = 0;i < s.length;i++)
{
if(s.charAt(i) == '"' && Quote == 0)
{
Quote = 1;
F = i;
}
else if(s.charAt(i) == '"' && Quote == 1)
{
Strings[Strings.length] = s.substring(F, i + 1);
Quote = 0;
}
}
return Strings;
}
Run Code Online (Sandbox Code Playgroud)
如果在任何循环中执行此操作,由于某些奇怪的原因,循环就会停止工作,并且只运行一次.
在此示例中,警报消息在继续执行程序之前仅显示一次.请记住,程序永远不会卡住或无响应,循环停止运行.
for(i = 0;i < 5;i++)
{
alert(findQuoted('"Test" this is a test "test" another test "TEST"'));
alert('test');
}
Run Code Online (Sandbox Code Playgroud)
在正常情况下,如果不使用此函数,则此循环中的所有内容都将执行6次.但是,由于此函数存在于循环中,因此此函数中的所有内容仅执行一次.
使用
for(var i = 0;i < 5;i++)
Run Code Online (Sandbox Code Playgroud)
否则你正在使用i你用来在你的另一个循环中迭代的相同变量.