2017-07-19 16 views
0

我試圖獲取匿名數組的長度時出現錯誤。我在想,如果我只是想做一些不允許的事情?匿名函數的屬性在JavaScript中爲const

const gamearena = function() 
{ 
    var matrix = []; 
    var height = 20; 
    var width = 10; 

    while(height--) 
     matrix.push(new Array(width).fill(0)); 

    return matrix; 
}; 

當我嘗試獲取數組的長度時,出現錯誤「Can not read property'length of undefined」。

我使用NetBeans和導航器似乎認識到常數作爲一個數組。我應該在這裏不使用匿名函數嗎?

+1

你可以發佈更多的代碼?你在哪裏試圖訪問「長度」屬性? –

+0

我還沒有寫到那麼遠,我只是在控制檯中進行調試。那麼重要嗎?數組的大小可以在某些地方訪問,而不是在其他地方訪問? – aserwin

回答

1

你的常數gamearena是一個函數,而不是一個數組。您可以登錄該數組的長度,像這樣:

console.log(gamearena().length); 

和各行可通過登錄:

for (var i = 0; i < gamearena().length; i++) { 
    console.log(gamearena()[i]); 
} 
+0

添加括號...有點太簡單。謝謝。 – aserwin