我知道javascript没有关于引用内存中某个位置的变量的指针,但我所拥有的是一些可能会发生变化并相互依赖的变量。
例如:
Center (x,y) = (offsetLeft + width/scale , offsetTop + height/scale)
到目前为止,我已经根据每个变量重写了等式,并且在任何更改之后我调用了相应的更新函数。
例如: 如果比例改变,则中心,高度和宽度保持不变。所以我打电话给
updateoffset() {
offsetLeft = centerx - width/scale;
offsetTop = centery - height/scale;
}
当这些变量中的任何变量发生变化时,这是更新这些变量的最简单方法吗?
答案 0 :(得分:4)
我用两种不同的方式阅读你的问题,所以有两个答案:
两种常用的方法是:1。要求仅通过“setter”函数更改值,然后将其用作重新计算更改内容的机会,或2.要求使用“getter” “函数获取计算出的值,您可以动态计算(或者如果价格昂贵,则从缓存计算中检索)。
如果您正在寻找一种从单个函数返回多个值的方法,则可以通过返回一个对象来轻松完成。例如:
// Definition:
function center(offsetLeft, offsetTop, width, height, scale) {
return {
x: offsetLeft + width/scale,
y: offsetTop + height/scale
};
}
// Use:
var pos = center(100, 120, 10, 20, 2);
// pos.x is now 105
// pos.y is now 130