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);
}
每当我打开此网页时,程序都会停止,并且不打印任何内容。我不确定问题是否与替换功能有关。
答案 0 :(得分:0)
seconds2
是数字还是字符串?如果是号码,则无法拨打seconds2.charAt()
。如果它是一个字符串,则不能seconds2--
。
答案 1 :(得分:0)
如果你修复了语法问题,你仍然会遇到setTimeout()
“叉炸弹”问题。你开始无限多次setTimeout()
s,所有这些都会在一秒钟之后熄灭。然后,当所有这些process2()
被调用时,它们中的每一个都将开始无限多的setTimeout()
。