它只进入一次

MRe*_*aat -1 javascript for-loop

我的js代码上有一个onChange函数,这个函数有一个只执行一次的foor循环(第一次执行函数),我尝试了一些让我确保函数每次运行正常但只有for循环的东西第一次运行虽然长度参数我检查它每次仍然是相同的值.

// loading the items to the menu
function loadmenu() {
    var selecteditem = $(".selected").text();

    alert(selecteditem);
    for (j == 0; j <= cats.length; j++) {

        if (selecteditem == cats[j]) {
            alert("eshta" + cats.length);
        }
    }

    $("#gallery").empty();
}
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 5

更改

for(j==0;j<=cats.length;j++){
Run Code Online (Sandbox Code Playgroud)

for(var j=0; j<cats.length; j++){
Run Code Online (Sandbox Code Playgroud)

在您目前的代码中,j是一个全局变量.第二次进入循环时,j已经是cats.length+1和你一样使用j==0时不要重置它.

如果你想迭代cats数组的所有元素,你的暂停条件应该是<,而不是<=.在这里,您的代码将在测试时产生错误cats[cats.length].

  • 解释为什么要改变它的原因通常是做出一个好答案所需要的 (2认同)