我的目标是:
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(角)会打印"topLeftCorner“、"topRightCorner”等,而不是"cornersAbs.topLeftCorner“等等。然而,用这种方式编写循环会给我一个错误,说明cornersAbs.corner是未定义的。)
使用括号符号也没有帮助。
当我打印任何corner.OOB的值时,控制台会打印"false“(使每个corner.OOB无效的值)或”未定义“。
我已经测试了我读到的角x和角Y的位置,它们工作得很好。
发布于 2015-01-18 19:26:57
你想做的是:
cornersAbs[corner]=...访问您正在查看的“角落”。
要查看子属性,您可以使用cornerAbs[corner].prop,它对按角引用的属性进行索引,并查看其中的prop。
另一方面,cornerAbs.corner等同于cornerAbs["corner"],这不是您想要的。
https://stackoverflow.com/questions/28013813
复制相似问题