我有一個數組設置,它將傳入兩個參數到函數中。但是,當我使用console.log時,我得到一個異常。這很奇怪,因爲如果我從參數中刪除參數,它會運行,是他們的任何原因,我該如何解決?Javascript Uncaught TypeError:無法讀取未定義的屬性「長度」(使用數組)
var musicians = ["Paul", "John", "Yuri"];
var instruments = ["Drums", "Guitar", "Chelo"];
function theBeatlesPlay(musicians, instruments) {
var empty = [];
for (var i = 0; i < **musicians.length**; i++) {
var str = musicians[i] + " plays " + instruments[i];
empty = str;
**console.log(empty)**;
}
}
theBeatlesPlay();
您沒有將任何參數傳遞給被調用的方法。 –
調試你的程序。在'for'語句中放置一個斷點。當你在那裏停下來時,檢查'音樂家'的價值。然後認真思考。 – 2017-04-15 11:55:39
棉絨將提供線索。例如,它可能會報告「音樂家」和「樂器」被宣佈但從未使用過。有些人也可能會報告在外部作用域中使用的函數參數** shadow **變量。 – 2017-04-15 16:36:56