为什么我只收到来自以下javascript的单个警报?

为什么我只收到来自以下javascript的单个警报?,javascript,html,Javascript,Html,这是HTML标记内部的javascript函数,但是-当我将警报(currentalbum)移动到for循环下面时,第二个警报不会运行-只有第一个警报,为什么 function populatetracks(albumvalue) { var currentalbum = albumvalue; alert(currentalbum); // #1 document.getElementById("TracksList").options.length = 0;

这是HTML标记内部的javascript函数,但是-当我将警报(currentalbum)移动到for循环下面时,第二个警报不会运行-只有第一个警报,为什么

function populatetracks(albumvalue) {
    var currentalbum = albumvalue;
    alert(currentalbum); // #1

    document.getElementById("TracksList").options.length = 0; 

    for(i = 0; albums[albumvalue].tracks.length - 1; i++) {
        var s = document.getElementById('TracksList');
        var opt = document.createElement('option');
        opt.appendChild( document.createTextNode(albums[albumvalue].tracks[i].title));
        opt.value = i;
        s.appendChild(opt);
    }

    alert(currentalbum); // #2
}

“#1”确实会产生警报,但“#2”不会。如前所述,不确定for循环应该如何停止

这里面没有评价,只是一个渐进式的指导

for(i=0; albums[albumvalue].tracks.length -1; i++){

也许尝试一下(可能需要将“=”更改为“”,如前所述,不确定for循环应该如何停止

这里面没有评价,只是一个渐进式的指导

for(i=0; albums[albumvalue].tracks.length -1; i++){

也许可以试试这个(可能需要将“=”改为“乍一看,它看起来像是
for
循环永远不会结束。@Quentin除非曲目列表的长度正好为1,在这种情况下,“条件”计算为
0
,一个错误值,并完全跳过循环。试试
i
for循环条件中没有赋值运算符。在i=0之后,它应该做什么?我定义了for循环应该停止的i值。乍一看,似乎
for
循环永远不会结束。@Quentin除非轨迹列表的长度正好为1,在这种情况下,“条件”计算为
0
,一个错误值,并完全跳过循环。try
i
在for循环条件中没有赋值运算符,在i=0之后,我定义了for循环应该停止的i值。