Javascript变量未定义错误

时间:2016-02-01 09:05:21

标签: javascript

我收到此错误:

  

TypeError:对象未定义。

同时打印我的对象的id。 enter image description here

这是我的代码:

var tempArray = [];
var  getCategoriesArray = function (id) {
  var object = getObject(id);
  console.log("id : " + object.id);  // the id is printed correctly 
  tempArray[tempArray.length] = object;
  if (object.has("parent") == false) {
    console.log(tempArray);
    return tempArray;
  }
  return getCategoriesArray(object.get("parent"));
};

var getObject = function (id) {

  for (var i = 0; i < response.length; i++) {
    var object = response[i];

    if (object.id == id) {
      console.log( "name : " + object.get("name")); // the name is printed
      return object;
    }
  }
}

$('#category').on("select2:select", function (e) {
  tempArray = []; 
  getCategoriesArray($(this).val());
});

请问我在代码中遗漏了哪些内容?

更新 我已经解决了这个问题,而不是:

  

返回getCategoriesArray(object.get(&#34; parent&#34;));

我已经使用了这个

  

返回getCategoriesArray(object.get(&#34; parent&#34;)。id);

因为我的函数应该有id作为参数而不是object

1 个答案:

答案 0 :(得分:0)

HY,

在函数 getObject 中,如果没有id匹配,则不返回有效对象。

如果 getObject 中返回的对象不为false,则必须在 getCategoriesArray 中进行验证。

var  getCategoriesArray = function (id) {
   var object = getObject(id);
   if (!object) //do some work
   else {
     // do your work
     console.log("id : " + object.id);
   }
}