为什么在浏览器中打开网页时功能不执行?

Why is function not executed when webpage is opened in browser?

我正在尝试创建一个无限循环的函数,直到用户输入他们想要退出。但是每次用浏览器打开网页都没有提示框,infiniteLoop()函数也不执行。为什么 infiniteLoop() 函数没有被调用?

function infiniteLoop() {
    i= 0;
    var begin= prompt("Shall we begin?");
    if (begin == "Yes") {
        var tryAgain= prompt("Exit loop?");
        if (tryAgain != "Yes") {
            infiniteLoop();
        }
    }
}

没有出现提示框是因为您在网页加载时没有调用该函数

在声明函数后添加infiniteLoop()

例如

function infiniteLoop() {
    i= 0;
    var begin= prompt("Shall we begin?");
    if (begin == "Yes") {
        while (i < 5) {
            var tryAgain= prompt("Are you sure?");
            if (tryAgain == "Yes") {
                i++;
            }
            else {
                infiniteLoop();
            }
        }
    }
    else {
        infiniteLoop();
    }
}
// Initial call
infiniteLoop();

它工作,写 5 次 "Yes"(区分大小写)它完成,否则它会无限工作,并且不要忘记调用 infiniteLoop()

需要在windowonload事件中调用函数

window.onload = function(){
     infiniteLoop();
}

或者,如果您使用 jquery

$(function() {
    infiniteLoop();
});

清理并开始工作

(function infiniteLoop() {
  var begin = prompt("Shall we begin?");

  if (begin === "Yes") {
    var i= 0;
    while (i < 5) {
      var tryAgain = prompt("Are you sure?");
      if (tryAgain === "Yes") {
        i++;
      }

      else {
        infiniteLoop();
      }
    }
  }

  else {
    infiniteLoop();
  }
})()