下面是我的代码
function generateGrid(spacing, boundBox, geometry) {
console.log(spacing);
console.log(boundBox);
var grid = [];
console.log(spacing);
for (var x = boundBox[0]; x < boundBox[2]; x = x + spacing) {
for (var y = boundBox[1]; y < boundBox[3]; y = y + spacing) {
if(geometry.intersectsCoordinate([x, y])) grid.push([x, y]);
console.log(boundBox[3] - y)
}
console.log(boundBox[1] - x)
}
console.log(grid);
}
如果将 spacing
替换为 10000
之类的数字,则 for 循环可以正常执行。
最佳答案
从控制台屏幕截图来看,传入的参数似乎是字符串 "10000"
而不是数字 10000
。
检查调用函数的代码,或者在函数内转换为整数,例如使用 parseInt(spacing)
。
作为帮助将来发现任何类似问题的提示,Chrome 的 console.log
以蓝色显示数值,以黑色显示字符串值。
关于javascript - 为什么这个 for 循环不能正确读取传递的参数中的 this ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768577/