这是我的目标:
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(角落)都会打印&#34; topLeftCorner&#34;,&#34; topRightCorner&#34;等等而不是&#34; cornersAbs。 topLeftCorner,&#34;等。然而,以这种方式编写循环会给出一个错误,指出cornersAbs.corner未定义。)
使用括号表示法也没有帮助。
当我打印任何角落的值时.OOB控制台打印&#34; false&#34; (我将每个角落初始化.OOB到)或&#34;未定义。&#34;
我已经测试了我读到corner.x和corner.y的位置,他们工作正常。
答案 0 :(得分:2)
你想这样做:
cornersAbs[corner]=...
进入角落&#39;你在看。
要查看子属性,请使用cornerAbs[corner].prop
,它会对角所引用的属性编制索引,并查看其中的prop
。
另一方面,cornerAbs.corner
相当于cornerAbs["corner"]
,这不是您想要的。