我有一个数组设置,它将传入两个参数到函数中。但是,当我使用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