javascript - 未捕获的类型错误:无法读取未定义的属性“长度”
问题描述
我面临着 Uncaught TypeError : Cannot read property 'length' of undefined in output console 使用 JavaScript 运行以下代码:
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"));
}
}
错误出现在行中:for(var i=0; i < field.length; i++)
任何有关如何调试此问题的建议将不胜感激。
解决方案
您很可能只是缺少此函数中的 return 语句:
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
}
推荐阅读
- c# - WPF/c#:如何在使用 SplashScreen / Loading Screen 时解决线程问题
- android - 如果 Google Play 游戏服务提供实时多人游戏,那么使用 gamesparks.com 有什么优势?这两者有什么区别?
- python - 如何使用 pymodbus 为将读取它们的外部 Modbus 客户端写入输入寄存器
- c - 编译器优化会影响动态内存分配吗?
- ios - 手动关闭并重新打开后无法访问 Xcode 环境变量
- java - 有时无法拖放
- c++ - 我如何才能真正使用 std::chrono 类型而不冒溢出和未定义行为的风险?
- pandas - 订购星期几
- github - 将项目文件移动到子目录中,github 仍然查看上层文件夹
- mapbox - Mapbox GL JS 相机中心直接移动到用户的位置