为什么我只收到来自以下javascript的单个警报?
这是HTML标记内部的javascript函数,但是-当我将警报(currentalbum)移动到for循环下面时,第二个警报不会运行-只有第一个警报,为什么为什么我只收到来自以下javascript的单个警报?,javascript,html,Javascript,Html,这是HTML标记内部的javascript函数,但是-当我将警报(currentalbum)移动到for循环下面时,第二个警报不会运行-只有第一个警报,为什么 function populatetracks(albumvalue) { var currentalbum = albumvalue; alert(currentalbum); // #1 document.getElementById("TracksList").options.length = 0;
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
,一个错误值,并完全跳过循环。tryi
在for循环条件中没有赋值运算符,在i=0之后,我定义了for循环应该停止的i值。