Javascript 如何“如果不是整数,则发出警报并重复提示”?伊斯南也是如此

Javascript 如何“如果不是整数,则发出警报并重复提示”?伊斯南也是如此,javascript,alert,prompt,fizzbuzz,Javascript,Alert,Prompt,Fizzbuzz,我正在努力解决这个问题。 如果不是整数,如何发出警报并重复提示? 我让警报工作,但我不能让它再次提示 isNAN也一样,根本不起作用 多谢各位 $(document).ready(function () { var fizzBuzz = function () { var userNum = prompt('Enter a number!'); var convertNum = +userNum; for (var i = 1; i <

我正在努力解决这个问题。 如果不是整数,如何发出警报并重复提示? 我让警报工作,但我不能让它再次提示

isNAN也一样,根本不起作用

多谢各位

$(document).ready(function () {
    var fizzBuzz = function () {
        var userNum = prompt('Enter a number!');
        var convertNum = +userNum;
        for (var i = 1; i <= convertNum; i++) {
            if (i % 15 === 0) {
                $('ul').append('<li>' + "fizzbuzz" + '</li>');
            } else if (i % 3 === 0) {
                $('ul').append('<li>' + "fizz" + '</li>');
            } else if (i % 5 === 0) {
                $('ul').append('<li>' + "buzz" + '</li>');
            } else if (isNaN(userNum)) {
                alert("Input is not a number");
            } else if (convertNum % 1 !== 0) {
                alert('Please enter a whole number');
                return false;         
            } else {
                $('ul').append('<li>' + i + '</li>');
            }
        }
    };
    fizzBuzz();
});

例如,只要有一个循环,它只会在用户输入数值后退出

var userNum = null;
while(userNum == null || isNaN(userNum)){
    userNum = prompt('Enter a number!');
}
实例:尝试输入字母而不是数字

您还可以将此设置为post循环检查,并为用户添加额外的消息

do{
    userNum = prompt('Enter a number!');
    if(isNaN(userNum)){
        alert("You entered '" + userNum + "'. This is invalid - you must enter a number");   
    }
}while(isNaN(userNum));
这应该有用

var fizzBuzz = function () {
        var userNum = prompt('Enter a number!');
        var convertNum = +userNum;
        if(isNaN(userNum)){
            console.log('not a number');
            fizzBuzz()
        }else{
            doSomethingElse()
        }

};
fizzBuzz();

if语句和循环的逻辑顺序与您试图实现的目标不符。首先要检查这个数字是否是一个数字,然后要检查它是否是一个整数,然后要输入for循环,如果它通过了这两个要求

$(document).ready(function () {
    var fizzBuzz = function () {
        var userNum = prompt('Enter a number!');
        var convertNum = +userNum;
        if(isNaN(userNum)){
            alert("Input is not a number");
            fizzBuzz();
        }
        else if (convertNum % 1 !== 0) {
            alert('Please enter a whole number');
            fizzBuzz();
        }
        else {
            for (var i = 1; i <= convertNum; i++) {
                if (i % 15 === 0) {
                    $('ul').append('<li>' + "fizzbuzz" + '</li>');
                } else if (i % 3 === 0) {
                    $('ul').append('<li>' + "fizz" + '</li>');
                } else if (i % 5 === 0) {
                    $('ul').append('<li>' + "buzz" + '</li>');
                } else {
                    $('ul').append('<li>' + i + '</li>');
                }
            }
        }

    };
    fizzBuzz();
});

您是否收到输入不是数字警报?在循环中重复输入之前,您应该检查它是否是数字谢谢您!工作起来很有魅力!