奇怪的Javascript循环行为

时间:2011-11-21 18:07:05

标签: javascript loops for-loop

我有一个像这样的for循环:

for (var i=first; i<=last; i++)
{
    $("#markers").append("<div class='marker'>"+i+"</div>");
}

first设置为2001,last为2010.这样可以正常工作。问题在于我将其更改为:

for (var i=first; i<=last; i+=1)
{
     $("#markers").append("<div class='marker'>"+i+"</div>");
}

(注意不同的最终声明是不同的)。除i++之外的任何变体都会导致无限循环。这是非常奇怪的,因为具有相同参数的jsFiddle可以很愉快地工作。有什么建议?

1 个答案:

答案 0 :(得分:13)

我猜测first的设置方式可能会被模糊地解释为string。所以第一个版本只能被解释为增量,但第二个版本被javascript解释为字符串连接。