Javascript函数参数作为变量

时间:2013-12-06 02:33:14

标签: javascript html function variables arguments

首先我想说明这是我第一次使用这个网站,所以如果我做错了什么,我很抱歉。其次我是JavaScript的中间人,但只是真正编写了3天,并且在增量游戏中使用它(更多的是我自己学习比其他人更多,因为那里有很多)。我一直做得很好,并且在我去的时候学习更多。

我的问题是我使用带参数的函数卡住了,我的代码看起来像这样:

<button onClick="getStorg(gargAmm,'gargAmm')"> Get Garage </button>Ammount: <span id="gargAmm">0<br />

哪个是启用函数的HTML:

var gargAmm = 0;
function getStorg(buildAmm,buildID)
{
    buildAmm = buildAmm + 1;
    document.getElementById(buildID).innerHTML = buildAmm;
}

当首次点击按钮时,显示屏将使“Amount:”达到1,但随后停止。我已经尝试重新排列各种变量,但我只是不知道为什么这不起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您正在做的是使用全局变量值

var gargAmm = 0;

无论何时调用该函数,它都使用与零相同的值并递增它。 因此,您将值设为1并且不会进一步增加。 我尝试了另一种方法来解决你的问题,看看它。

   <button onClick="getStorg('gargAmm')">
        Get Garage 
   </button>Ammount: <span id="gargAmm">0</span><br />

这是javascript

    function getStorg(buildID)
    {
      var d= document.getElementById(buildID);
      var t= parseInt(d.innerText);
      t=t+1;
      document.getElementById(buildID).innerHTML = t;
    }

此处获取跨度中的文本并将其转换为int,然后递增该值 并插回到跨度。

这是工作小提琴http://jsfiddle.net/p8E4G/

答案 1 :(得分:0)

<强>简单:

function myFunc(a,b) {
  b = b || 0;

  // b will be set either to b or to 0.
}