好的,所以我的问题的答案可能不是问题,但无论如何都是这样。
基本上这是计算器程序的一部分。我需要知道如何在上仅使用这个函数的第一次执行(假设它可能会重复执行)并将变量x转换为该值并保持每个后续执行的值...同时仍然允许在调用另一个想要更改其值的函数时更改var y
。这是我无法弄清楚的程序中唯一的部分。
基本上我试图模拟一个常用的计算器功能,如果用户按下1 + 2然后=计算将呈现3然后将增加第二个数字的值(在这种情况下为2) =(即1 + 2 = 3 = 5 = 7 ....)我的计算器现在正在做相反的事情(即1 + 2 = 3 = 4 = 5 = 6 ......... )。
(我已经尝试过很多东西......现在在函数结束时output.original_value
阻止程序运行多次而没有其他函数首先重置值...我做了不要将该部分留在已发布的代码中,因为我的最终目标是不必使用它。)
mathSign = null
答案 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);
}
}