在JavaScript中保持两个变量的值同步的最佳方法

时间:2013-06-04 07:40:01

标签: javascript variables coffeescript

所以我有两个变量。

一个是ammo,另一个是ammoAvailable

当用户左键单击时,ammo减少1,但永远不会超过0.

当用户右键单击时,ammoAvailable减少50(如果不可用则减少),ammo增加相同的数量。

在Javascript中处理这种变量关系的最优雅方法是什么,这样就不会创建额外的弹药而且变量都不会低于0?

示例:

@ammo = 0
@ammoAvailable = 500

userClick = =>
  if @ammoAvailable >= 50
    @ammo += 50
    @ammoAvailable -= 50
  else
    @ammo += @ammoAvailable
    @ammoAvailable = 0

我怎样才能更有说服力,更短暂?

1 个答案:

答案 0 :(得分:2)

我的看法:

“当用户左键单击时,ammo减少1,但永远不会超过0。”

leftClick = =>
  @ammo-- if @ammo

“当用户右键点击时,ammoAvailable减少50(如果不可用则减少),ammo增加相同数量。”

rightClick = =>
  reloadAmmo = Math.min @ammoAvailable, 50
  @ammo += reloadAmmo
  @availableAmmo -= reloadAmmo