是否可以将原始属性存储为类中的引用?

时间:2019-09-17 13:32:05

标签: javascript class oop

我正在运行一个模拟,该模拟具有“ timePerTick”整数变量。用户可以设置此变量来加快或减慢仿真速度。

模拟本身由几个类处理,所有这些类都消耗timePerTick变量。

我很难将timePerTick传递给类,因为如果我传递一个整数,它将作为值而不是引用传递。现在,我正在传递一个返回引用的函数,该函数可以工作,但是不是很漂亮。

有我不知道的某种模式可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

是否有任何理由需要通过引用传递?如果它是用户提供的值,那么听起来好像您的函数不会修改它,因此它不会更改。

如果您确实希望通过引用传递它,那么可以:

  1. 将值传递给每个刻度的类,例如 myClass.onTick(timePerTick)
  2. 传递一个对象而不是一个数字。 js中的对象通过引用传递。 myClass.onTick(globalState),其中globalState是对象或包含您的变量的类。

答案 1 :(得分:0)

传递一个具有timePerTick值的对象。对象通过引用传递。