如何在同一重复函数中创建变量替换值?

时间:2012-02-02 08:20:38

标签: javascript variables calculator var

好的,所以我的问题的答案可能不是问题,但无论如何都是这样。

基本上这是计算器程序的一部分。我需要知道如何在上仅使用这个函数的第一次执行(假设它可能会重复执行)并将变量x转换为该值并保持每个后续执行的值...同时仍然允许在调用另一个想要更改其值的函数时更改var y。这是我无法弄清楚的程序中唯一的部分。

基本上我试图模拟一个常用的计算器功能,如果用户按下1 + 2然后=计算将呈现3然后将增加第二个数字的值(在这种情况下为2) =(即1 + 2 = 3 = 5 = 7 ....)我的计算器现在正在做相反的事情(即1 + 2 = 3 = 4 = 5 = 6 ......... )。

(我已经尝试过很多东西......现在在函数结束时output.original_value阻止程序运行多次而没有其他函数首先重置值...我做了不要将该部分留在已发布的代码中,因为我的最终目标是不必使用它。)

mathSign = null

2 个答案:

答案 0 :(得分:0)

您可以尝试类似

的内容
  if( typeof result.first == 'undefined' ) {
        result.first = 0;
        result.y = parseFloat(output.value);
        alert (result.y);
        var y = result.y;
    }
    else 
    {
        var y = result.y;
        alert (y);
    }

把它代替var y = parseFloat(output.value),基本上它首先检查一些静态变量,如果它已设置,如果不是(第一次通过),你设置y,并且每隔一次你只使用它年。我认为它应该有用

答案 1 :(得分:0)

这最终成为解决问题的最佳方法。它本质上是一个可变切换器,与我的其余计算器代码完美配合: - )

function variable_toggle(){
  output.variable_toggle;
  if(output.value == mathSign){
    output.value = output.original_value;
  }
  if(output.variable_toggle != false){
    var x = output.original_value;
    var y = parseFloat(output.value);
    output.toggled_value = parseFloat(output.value);
    result(x, y);
    output.variable_toggle = false;
  }
  else{
    var x = parseFloat(output.value);
    var y = parseFloat(output.toggled_value);
    result(x, y);
  }
}