Javascript 如何创建和使用带while循环的整数数组?

Javascript 如何创建和使用带while循环的整数数组?,javascript,jquery,Javascript,Jquery,我想为last\u foto创建整数数组并添加到循环中。我尝试了以下代码: var last_foto = []; function img() { for(var i=1; i<9; i++) { var foto_rand = Math.floor(3*Math.random()+i*3); $("#foto-"+ i).html('<img style="position: relative;" height="100%"

我想为last\u foto创建整数数组并添加到循环中。我尝试了以下代码:

var last_foto = [];

function img()
{
    for(var i=1; i<9; i++)
    {
         var foto_rand = Math.floor(3*Math.random()+i*3);
         $("#foto-"+ i).html('<img style="position: relative;" height="100%" src="slides/'+ foto_rand +'.jpg" />');
         var last_foto[i] = foto_rand;
    }
}

function rimg()
{
    var rand = Math.floor(8*Math.random()+1);
    var foto_rand = Math.floor(3*Math.random()+3*rand);
    while(last_foto[rand] == foto_rand) var foto_rand = Math.floor(3*Math.random()+3*rand);
    $("#foto-"+ rand).fadeOut(2000, function() {
         $("#foto-"+ rand).html('<img style="position: relative;" height="100%" src="slides/'+ foto_rand +'.jpg" />');
    });
    $("#foto-"+ rand).fadeIn(2000);
    var last_foto[rand] = foto_rand;
}
所有JavaScript代码都停止工作

var last_foto[i] = foto_rand;
这是无效的。因为您已经初始化了数组,所以不需要使用
var
关键字

img()
rimg()
函数中


此外,您似乎正在重新说明许多变量。声明变量后,不需要重新声明它,除非您位于不同的作用域中,并且希望用相同名称的局部覆盖全局变量(尽管为了可读性,我建议不要使用它)

使用内置的
数组。推送(项)
数组。pop()
在循环中,您可以跳过计数器

控制台中是否有任何错误?我不知道我在使用记事本++和主机进行测试。在www.jsfiddle.netrimg()上创建一个提琴看起来像是非常讨厌的代码。@cgatian-是的,我同意,我认为它不能解决OP的所有问题。
var last_foto[i] = foto_rand;