Javascript 未捕获类型错误:无法读取属性';长度';未定义的
我面临未捕获的类型错误:在使用JavaScript运行以下代码时,无法在输出控制台中读取未定义的的属性“length”:Javascript 未捕获类型错误:无法读取属性';长度';未定义的,javascript,field,Javascript,Field,我面临未捕获的类型错误:在使用JavaScript运行以下代码时,无法在输出控制台中读取未定义的的属性“length”: var field = []; function setup() { createCanvas(625, 625); field = generateField(); } function draw() { background(51); for(var i=0; i<field.length; i++) {
var field = [];
function setup()
{
createCanvas(625, 625);
field = generateField();
}
function draw()
{
background(51);
for(var i=0; i<field.length; i++)
{
field[i].draw();
}
}
function generateField()
{
var f = [];
for (var i = 0; i < 625; i++)
{
f.push(new Tile(i%25, Math.floor(i/25), "BARRIER"));
}
}
var字段=[];
函数设置()
{
createCanvas(625625);
字段=generateField();
}
函数绘图()
{
背景(51);
对于(var i=0;i您很可能只是缺少此函数中的返回语句:
function generateField()
{
var f = [];
for (var i = 0; i < 625; i++)
{
f.push(new Tile(i%25, Math.floor(i/25), "BARRIER"));
}
return f; // <-- this line
}
函数generateField()
{
var f=[];
对于(变量i=0;i<625;i++)
{
f、 推(新瓷砖(i%25,数学地板(i/25),“屏障”);
}
return f;//您缺少generateField
函数中的return
语句,如下所述:
没有return
语句的函数
将返回默认值。如果使用new
关键字调用构造函数
,则default
值是其此
参数的值。对于所有其他函数,默认的return
值是未定义的
。
在这种情况下,generateField
被用作常规函数,它将返回undefined
。因此,当尝试访问字段
变量上的长度
属性时,会抛出未捕获类型错误。字段=generateField();
但是generateField
不返回任何内容