2014-12-31 5 views
0

У меня есть следующий код в JS:JS/Не удается прочитать свойство «толчок» неопределенной

if (all[j][i][11] != Boolean(1) && $scope.w[j][i] != undefined && $scope.ip[j][i] != undefined && $scope.type[j][i] != undefined) 
      var specificArray = [] 
      specificArray.push($scope.w[j][i]); 
      // continue with the code 

это дает мне следующую ошибку:

TypeError: Cannot read property 'push' of undefined 

Но specificArray определяется непосредственно перед нажатием операция.

Я также попробовать: var specificArray = new Array()

+1

См Http: // StackOverflow. com/questions/359732/why-is-it-thought-a-bad-practice-to-omit-curly-braces? lq = 1 – Barmar

ответ

4

Вы должны добавить некоторые фигурные скобки при условии

if (all[j][i][11] != Boolean(1) && $scope.w[j][i] != undefined && $scope.ip[j][i] != undefined && $scope.type[j][i] != undefined){ 
    var specificArray = [] 
    specificArray.push($scope.w[j][i]); 
} 

Без него поведение, как это:

if (all[j][i][11] != Boolean(1) && $scope.w[j][i] != undefined && $scope.ip[j][i] != undefined && $scope.type[j][i] != undefined){ 
    var specificArray = []; 
} 
specificArray.push($scope.w[j][i]); // Cannot read property 'push' of undefined 
+2

Они называются «фигурные скобки». – Barmar

Смежные вопросы