2013-08-16 22 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。這兩個是不同的值,你檢查的方式只會檢查未定義的。檢查是否一個對象,最好的辦法是undefinednull是利用一個事實,即nullundefined相互之間的隱式轉換,並且做到:

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

幾個例子示出該在http://jsfiddle.net/5kdG8/和http://jsfiddle.net/kxGJU/ – tvanfosson