2013-08-16 6 views
1

У меня есть следующий код:Получение сообщения об ошибке при попытке нажать на массив

if (typeof $scope.grid.data == 'undefined') { 
     $scope.grid.data = []; 
    } 
    $scope.grid.data.push(result); 

я положил в чеке на неопределенный, но я все еще получаю сообщение об ошибке от толчка, говоря:

TypeError: Cannot call method 'push' of null 

Любые советы были бы оценены

ответ

2

Как показывает сообщение об ошибке, рассматриваемый объект является null, не undefined. Эти два значения являются разными, а способ проверки будет проверяться только на неопределенный. Лучший способ проверить, является ли объект undefinedилиnull является использование того факта, что null и undefined неявно преобразовывать друг с другом, и делать:

if ($scope.grid.data == null) { 
+0

Пару примеров, показывающих это в http://jsfiddle.net/5kdG8/ и http://jsfiddle.net/kxGJU/ – tvanfosson

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