不覆盖变量?

don*_*don 0 javascript counter for-loop

我正在尝试计算数组中的元素,并且每次添加元素时都必须更新数字.我正在尝试使用以下函数执行此操作:

function counter() {
    for(var i = 0; i < elements.length; i++) {
        counter = i;
    }
    alert("counter has counted");
}
Run Code Online (Sandbox Code Playgroud)

但它只在第一次工作!第二次调用该函数它不再起作用,警报甚至没有出现,所以我猜这个过程在for循环中被中断了.谁知道原因?

Mar*_*ers 5

您不应对counter存储计数和函数的变量使用相同的名称().

该行将counter = i;覆盖对函数的引用.下次尝试调用counter()它时将无法工作,因为counter它不再是一个函数.

试试这个:

function update_counter() {
    for(var i = 0; i < elements.length; i++) {
        counter = i;
    }
    alert("counter has counted");
}
Run Code Online (Sandbox Code Playgroud)