根据另一个变量的布尔状态,使变量记住一个值

时间:2017-01-22 23:40:19

标签: javascript

有没有办法在Javascript中实现一个“latch”函数,它存储数值变量'x'的值(根据第二个变量'y'的状态自动计数,自动计数)(布尔类型) ,用户互动)?像这样:

x = // count up constantly,
x1 = store the x value when ->
y = is "false" (EVEN IF it becomes "true" again)

问题是当“y”返回“true”状态时,“x1”会丢失存储的值并再次变为“未定义”,我需要该值稍后进行数学运算(减法)。有谁知道如何解决这个问题(我在Javascript中非常棒)?

这是我到目前为止所获得的代码:

    var x = // this value change constantly
      function latchON() {
          var x1;
       if (!y) {
           x1 = x;    
           return x1;
       }
      }

z = latchON() - x // this is operation  I need perform, but result "NaN", because x1 is "undefined" when y become "true"...

很抱歉,如果我不能很好地解释,也很抱歉我的英语不好(不是我的母语)。

编辑 - 感谢所有试图帮助我的人。我终于设法解决了这个问题,使用cookie来存储价值(在我记住它之前我浪费了一周的时间:(但是迟到了......),遵循此页面上的一些说明http://www.quirksmode.org/js/cookies.html

1 个答案:

答案 0 :(得分:1)

不太确定你想做什么,但是这个怎么样?

var x = // this value change constantly
var x1 = 0
function latchON() {
    if (!y) {
        x1 = x;     
    }
    return x1;
}