使JavaScript变量保持其值

13 浏览
0 Comments

使JavaScript变量保持其值

我对JavaScript非常陌生,我想知道是否有人能够帮助我解决一个对于了解JS的人来说似乎非常简单的问题。我的问题是,我尝试在声明变量后更改它们的值,但每次我改变它们的值时,它们都会重新设置为它们在声明时的旧值。如果有人能够解释一下我如何解决这个问题,我将非常感激。如果您想看一下我的代码,这是它:

//在此之前的内容对于我的问题来说无关紧要。
                          
                            

<--- 这打印了在下面的脚本中声明的"first"变量,但即使在按下按钮时也始终等于1 <--- 这是按下按钮时调用函数的按钮

0
0 Comments

在上述代码中,我们定义了一个名为"first"的变量,并将其值设置为1。然后,我们使用document.getElementById("first")来获取一个具有id为"first"的元素,并将该元素的innerHTML设置为变量"first"的值。

接下来,我们定义了一个名为value_up的函数,该函数接受一个参数id。在函数内部,我们使用parseInt函数将具有id为传递的参数id的元素的textContent转换为整数,并将其存储在变量x中。

然后,我们对变量x执行了加1的操作(或者可以执行其他操作),并将结果存储在变量x中。最后,我们将具有id为传递的参数id的元素的innerHTML设置为变量x的值。

在HTML代码中,我们创建了一个具有id为"first"的p元素,并在input按钮的onclick事件中调用了value_up函数,并将"first"作为参数传递给函数。

这段代码的目的是使JavaScript变量保持其值。具体来说,我们通过将变量的值存储在具有特定id的元素的innerHTML中,并使用该元素的id来获取和设置变量的值。这样,无论何时我们需要更新变量的值,我们只需要调用value_up函数并传递相应的id作为参数即可。

这种方法的优点是,我们可以通过更改HTML中具有相应id的元素的值来更改变量的值。这样,我们可以在不更改JavaScript代码的情况下更改变量的值。

因此,通过将变量的值存储在元素的innerHTML中,并使用元素的id来获取和设置变量的值,我们可以实现JavaScript变量的持久化。

0
0 Comments

问题的原因是在函数中返回了变量x的值,但是没有将变量first的值设置为x的值。因此,first的值始终不会改变。在JavaScript中,值是按值传递的,因此需要直接更改first的值,而不仅仅是传递它。

解决方法是直接更新HTML元素所持有的值。请参考以下示例:

let first = 0
document.getElementById("first-val").innerHTML = first;
let increment_first = () =>{
  first += 1
  document.getElementById("first-val").innerHTML = first;
}

Value of first:

非常感谢您的帮助,问题已解决!

0