[英]How do I implement something like pointers in javascript?
我知道javascript在指向內存中某個位置的變量方面沒有指針,但是我所擁有的是一些變量,這些變量可能會發生變化並且相互依賴。
例如:
Center (x,y) = (offsetLeft + width/scale , offsetTop + height/scale)
到目前為止,我已經根據每個變量對方程進行了重寫,並在進行任何更改后調用了相應的更新函數。
例如:如果比例更改,則中心,高度和寬度保持不變。 所以我打電話
updateoffset() {
offsetLeft = centerx - width/scale;
offsetTop = centery - height/scale;
}
當這些變量中的任何一個發生更改時,這是更新這些變量中最簡單的方法嗎?
我以兩種不同的方式閱讀了您的問題,所以有兩個答案:
兩種通常的方法是: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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.