我正在使用JS Bin網站來寫這個。做while循環時不提示。 Javascript
循環火災只有當我給個差(數字)輸入一次:
function isInputLeapYear()
{
var year = -1;
var inputOk = true;
do{
year = prompt("Please enter a year to check if it is a leap year \ninput year between 0-9999");
if(year < 0 || 9999 < year) // check input
{
inputOk = false;
alert("\""+year+"\" is not a good year. \nThe input needs to be between 0-9999");
};
}while(inputOk === false);
....
}
的'prompt'函數返回一個'string',而不是一個'number'。您可以查看['parseInt'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)函數。 –
您需要添加一個'else {inputOk = true; '',否則你的代碼對我來說工作得很好。 – 4castle
@DarinDimitrov是正確的。使用parseInt函數。 year = parseInt(輸入)。 –