javascript - 函数循环问题

标签 javascript jquery function loops

在处理在 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;
}

http://pastebin.com/2wi4Tnn8

如果这在任何循环中执行,出于某种奇怪的原因,循环就会停止工作,并且只运行一次。

在这个例子中,警告消息在继续程序之前只显示一次。请记住,程序永远不会卡住或无响应,循环只是停止运行。

for(i = 0;i < 5;i++)
{
    alert(findQuoted('"Test" this is a test "test" another test "TEST"'));
    alert('test');
}

在正常情况下,如果不使用这个函数,这个循环中的所有内容都会执行 6 次。然而,由于该函数存在于循环中,因此该函数中的所有内容仅执行一次。

最佳答案

使用

for(var i = 0;i < 5;i++)

否则,您使用的是您在其他循环中用于迭代的相同变量 i

关于javascript - 函数循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17622657/

相关文章:

javascript - 正则表达式在 Javascript 中获取两个字符串之间的数字

javascript - 检测可滚动 div 中的元素何时超出 View

javascript - 单击子级时阻止父级单击

function - Java函数链

c++ - 为什么将 void 与函数一起使用?

javascript - 在我的例子中,如何获取 Select 元素中的选定值?

javascript - 参数 'd3Ctrl' 不是函数,未定义

javascript - ng-click 和 ng-repeat - angularJs 不起作用

jquery - 单击左栏中的链接时,需要在中心栏(三栏布局)中加载 html 页面

python - 中断外部循环 Python 函数其他选项