Javascript 如何创建一个简单的onclick add函数()

Javascript 如何创建一个简单的onclick add函数(),javascript,Javascript,我尝试执行这些代码,并希望每次单击按钮时它都会增加1,但它会返回NaN。 我对javascript真的很陌生。真希望有人能帮我! 提前谢谢 function add(){ var sum = parseInt(1); var adding = adding + sum; document.getElementById("amt1").innerText = adding; } 您在函数的局部范围内赋值,因此每次函数执行时,它都会将值1赋值给“sum”变量。接下来,您将通过尝试分配a

我尝试执行这些代码,并希望每次单击按钮时它都会增加1,但它会返回NaN。 我对javascript真的很陌生。真希望有人能帮我! 提前谢谢

function add(){
  var sum = parseInt(1);
  var adding = adding + sum;
  document.getElementById("amt1").innerText = adding;
}

您在函数的局部范围内赋值,因此每次函数执行时,它都会将值1赋值给“sum”变量。接下来,您将通过尝试分配adding的值来创建变量“adding”,而adding还不存在

函数的目标似乎是将“amt1”的值增加1

function add(elId){
    let currentAmt = document.getElementById(elId).innerText; 
    currentAmt = parseInt(currentAmt) + 1; 
    document.getElementById(elId).innerText = currentAmt; 
}

通过传入元素ID,您的函数现在可以应用于任何元素。它从当前的内部文本中解析整数,加1,然后将新的数量设置为元素的内部文本

您在函数的局部范围内赋值,因此每次函数执行时,它都会将值1赋值给'sum'变量。接下来,您将通过尝试分配adding的值来创建变量“adding”,而adding还不存在

函数的目标似乎是将“amt1”的值增加1

function add(elId){
    let currentAmt = document.getElementById(elId).innerText; 
    currentAmt = parseInt(currentAmt) + 1; 
    document.getElementById(elId).innerText = currentAmt; 
}

通过传入元素ID,您的函数现在可以应用于任何元素。它从当前的内部文本中解析整数,加1,然后将新的数量设置为元素的内部文本

你可能需要看看这篇文章-

关于如何增加,我们的想法是保持变量在函数之外,就像你的例子一样

  • 您不需要使用parseInt来解析字符串中的整数。

  • 您需要将sum变量保持在函数外部。下面是要添加的常规函数

  • var n=0;
    功能添加(值){
    n+=数值;
    返回n;
    
    }
    你可能需要看看这篇文章-

    关于如何增加,我们的想法是保持变量在函数之外,就像你的例子一样

  • 您不需要使用parseInt来解析字符串中的整数。

  • 您需要将sum变量保持在函数外部。下面是要添加的常规函数

  • var n=0;
    功能添加(值){
    n+=数值;
    返回n;
    
    }
    您可以对
    求和进行闭包,并获取返回的函数以添加到值中

    var add=函数(总和){
    返回函数(){
    document.getElementById(“amt1”).innerHTML=++sum;
    };
    }(0);
    
    0add
    您可以对
    和取一个闭包
    ,并获取返回的函数以添加到值中

    var add=函数(总和){
    返回函数(){
    document.getElementById(“amt1”).innerHTML=++sum;
    };
    }(0);
    
    0添加
    我明白了,这里你问了两个问题:

  • 为什么添加
    NaN

    在第2行,您尚未初始化变量
    adding
    ,因此在RHS
    adding
    中是
    未定义的

    因此,RHS块
    加法+求和的计算结果为
    undefined+1
    ,其计算结果为
    NaN

  • 如何使用
    onClick()


  • 以下是处于工作状态的代码(HTML+JavaScript):

    var adding=0;//初始化。这是您的代码丢失的步骤
    函数add(){
    var和=parseInt(1);
    加法=加法+和;
    document.getElementById(“amt1”).innerText=添加;
    }
    onclick事件
    点击我
    

    我明白了,这里您问了两个问题:

  • 为什么添加
    NaN

    在第2行,您尚未初始化变量
    adding
    ,因此在RHS
    adding
    中是
    未定义的

    因此,RHS块
    加法+求和的计算结果为
    undefined+1
    ,其计算结果为
    NaN

  • 如何使用
    onClick()


  • 以下是处于工作状态的代码(HTML+JavaScript):

    var adding=0;//初始化。这是您的代码丢失的步骤
    函数add(){
    var和=parseInt(1);
    加法=加法+和;
    document.getElementById(“amt1”).innerText=添加;
    }
    onclick事件
    点击我
    

    试试看

    document.getElementById(“amt1”).addEventListener(“单击”,显示日期);
    函数displayDate(){
    var节点=document.getElementById('amt1');
    document.getElementById(“amt1”).innerHTML=parseInt(node.textContent)+1;
    }
    1
    试试看

    document.getElementById(“amt1”).addEventListener(“单击”,显示日期);
    函数displayDate(){
    var节点=document.getElementById('amt1');
    document.getElementById(“amt1”).innerHTML=parseInt(node.textContent)+1;
    }

    1
    您正在使用一个
    未定义的
    变量
    添加
    来进行计算,这就是为什么您会得到一个
    NaN

    • var adding=adding+sum
      :变量
      adding
      尚未初始化,因此其值等于
      undefined
      ,这给了我们
      var adding=undefined+sum=NaN
      。请参见下一个示例:
    var-sum=parseInt(1);
    log('typeof“adding”在初始化之前是'+typeof adding+',它等于'+adding+'');
    var加法=加法+总和;
    
    log('typeof“adding”在初始化后是'+typeof adding+',它等于'+adding+'')
    您正在使用一个
    未定义的
    变量
    添加
    进行计算,这就是为什么会得到一个
    NaN

    • var adding=adding+sum
      :变量
      adding
      尚未初始化,因此其值等于