替换功能不起作用

时间:2013-12-31 06:52:20

标签: javascript html

function process2(hours2, mins2, seconds2){
    var system = 2;
    while (system == 2) {
        seconds2--;

        if (seconds2.charAt(0) == "0" || seconds2.charAt(0) == 0) {
            seconds2 = seconds2.replace(/0/i, ""); //Replace functions
        }
        if (mins2.charAt(0) == "0" || mins2.charAt(0) == 0) {
            mins2 = mins2.replace(/0/i, "");
        }
        if (hours2.charAt(0) == "0" || hours2.charAt(0) == 0) {
            hours2 = hours2.replace(/0/i, "");
        }
        document.getElementById("container_fields").innerHTML = "Hours: " +   hours2 + " Minutes:" + mins2 + " Seconds: " + seconds2;}

        setTimeout(function(){
            process2(hours2, mins2, seconds2);
        }, 1000);

}

每当我打开此网页时,程序都会停止,并且不打印任何内容。我不确定问题是否与替换功能有关。

2 个答案:

答案 0 :(得分:0)

seconds2是数字还是字符串?如果是号码,则无法拨打seconds2.charAt()。如果它是一个字符串,则不能seconds2--

答案 1 :(得分:0)

如果你修复了语法问题,你仍然会遇到setTimeout()“叉炸弹”问题。你开始无限多次setTimeout() s,所有这些都会在一秒钟之后熄灭。然后,当所有这些process2()被调用时,它们中的每一个都将开始无限多的setTimeout()