【发布时间】:2017-12-13 11:32:26
【问题描述】:
var i=0;
function mul()
{
var qty = document.getElementsByClassName("qty");
var rs = document.getElementsByClassName("rs");
var amt = document.getElementsByClassName("amt");
var mul=(qty[i].value)*(rs[i].value);
amt[i].setAttribute("value",mul);
sp.appendChild(iteminp);
sp.appendChild(qtyinp);
sp.appendChild(rsinp);
sp.appendChild(amtinp);
i++;
}
在上面的程序中,我希望每次调用函数时都增加 'i' 的值,并且它在整个程序中都应该像静态变量一样。 怎么办?
【问题讨论】:
-
有什么问题?
-
正是这样。它是全局的,所以每个函数都会看到相同的
i。 -
只需将
var放在i之前。那么i将是一个全局变量 -
i无处可被视为静态。你只是想要一个全局变量吗?如果是,则将其声明为window._i = 1;,但这似乎是实现某些目标的坏方法。 (通常的做法是在全局变量前加上下划线,当然不要只叫它i)
标签: javascript variables static