1

JAVASCRIPT:

function identifybrand ( allproducts,favBrand){ 
  var favBrandList = new Array();
  var prodType = document.getElementById('prodType').value;
  for (var i=0;i<=allproducts.length;i++) {
    if (favBrand == allproducts[i].brandName) {
      favBrandList.push(allproducts[i]);
    }
  }
  alert(favBrandList);
}

我无法访问 for 循环外的 favBrandList 数组。有谁知道为什么我无法访问它?

4

1 回答 1

1

原因应该是您在循环中遇到脚本错误。

你的循环有问题,i<=allproducts.length应该是错误的i<allproducts.length

数组索引开始from 0 to length - 1,所以当i等于时allproducts.lengthallproducts[i]变为未定义并allproducts[i].brandName会抛出脚本错误。

function identifybrand(allproducts, favBrand) {
    var favBrandList = new Array();
    var prodType = document.getElementById('prodType').value;
    for (var i = 0; i < allproducts.length; i++) {
        if (favBrand == allproducts[i].brandName) {
            favBrandList.push(allproducts[i]);
        }
    }
    alert(favBrandList);
}
于 2013-03-26T10:19:50.700 回答