日期:2014-05-16  浏览次数:20435 次

javascript中一个分号引发的血案

先直接上代码:

b= numberStr.split(":")[1].split(/\s+/);
for(var k = 0; k < b.length; k++) {
    var item= b[k];
    if(item> 16) {
        alert("不能大于16");
        return;
    }
}
alert(b.sort(sortNumber));

?代码执行后,后面的alert一直无法显示。十分不解。后来就在for循环结束的大括号后加了个分号";",代码正确执行。

javascript中的自动插入分号机制,有可能认为行末是换行,有可能是加分号。但当前这种情况,应该是认为是换行了。可即会是换行,为什么会导致后面的代码无法执行呢?仍要继续研究了。

不过目前来看,为了不再次再现类似错误,只能在每一句后面都加上“;”了