【发布时间】:2015-03-16 19:40:54
【问题描述】:
这是我的对象:
var cornersAbs = {
topLeftCorner: { x: center.x + orin.corners.topLeft.x, y: center.y + orin.corners.topLeft.y, OOB: false },
topRightCorner: { x: center.x + orin.corners.topRight.x, y: center.y + orin.corners.topRight.y, OOB: false },
bottomLeftCorner: { x: center.x + orin.corners.bottomLeft.x, y: center.y + orin.corners.bottomLeft.y, OOB: false },
bottomRightCorner:{ x: center.x + orin.corners.bottomRight.x, y: center.y + orin.corners.bottomRight.y, OOB: false }
}
还有我的循环
for (var corner in cornersAbs) {
corner.OOB = corner.x < 0 | corner.y < 0 | corner.x > canvas.width | corner.y > canvas.height;
}
似乎没有为corner.OOB属性分配任何值。
似乎没有任何帮助,即使我这样编写循环:
for (var corner in cornersAbs) {
cornersAbs.corner.OOB = cornersAbs.corner.x < 0 | cornersAbs.corner.y < 0 | cornersAbs.corner.x > canvas.width | cornersAbs.corner.y > canvas.height;
}
(我尝试以这种方式编写它,因为每次迭代的 console.log(corner) 都会打印“topLeftCorner”、“topRightCorner”等,而不是“cornersAbs.topLeftCorner”等。但是,以这种方式编写循环,给我一个错误,说cornersAbs.corner是未定义的。)
使用括号表示法也无济于事。
当我打印任何corner.OOB 的值时,控制台会打印“false”(我将每个corner.OOB 初始化为的值)或“undefined”。
我已经在corner.x和corner.y中测试了我正在读取的位置,它们工作正常。
【问题讨论】:
标签: javascript javascript-objects for-in-loop