0

我为我的测试站点制作了 Javascript 随机标语生成器,但不知何故出现了错误,我真的不知道为什么。

<body onload="rndqu()">
    <div id="head"> <a href="index.html">Mira's place<a><br>
            <h2>&#8220;<span id="quote"></span>&#8221;</h2>
    </div>
</body>

这是Javascript

var qu;
var slogan;
function rndqu(n){
    var random = function(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
    };  
    qu = random(1, 7);
    switch(qu){
        case 1:
            slogan = "This text is random generated. Woohooo... :P";
            break;
        case 2:
            slogan = "Mira is creating huge game named Rock Paper.";
            break;
        case 3:
            slogan = "I will add discussion on my site!";
            break;
        case 4:
            slogan = "Everyone loves Koding.";
            return;
        case 5:
            slogan = "Mira is potato. :(";
            return;
        case 6:
            slogan = "I'm learning Javascript, this slogan is made in Javascript!";
            return;
        case 7:
            slogan = "There is actually over 9000 slogans!";
            return;
        default:
            slogan = "Is it possible to get default?";
    }
    document.getElementById("quote").innerHTML = slogan;
}

有时它起作用,有时它不起作用。我尝试了谷歌浏览器和它的控制台并使用这个命令rndqu(); console.log(qu);来调试它。但我失败了。我在代码中看不到任何错误。

什么时候:

qu = 1口号是正确的。

qu = 2口号是正确的。

qu = 3口号是正确的。

qu = 4口号没有改变。

qu = 5口号没有改变。

qu = 6口号没有改变。

qu = 7口号没有改变。

为什么它不起作用对我来说完全是个谜。

编辑:我是瞎子。我瞎了眼!!!

4

3 回答 3

7

因为在不起作用的情况下,您正在使用return;而不是,break;所以您正在退出函数并且没有到达存储结果的部分。

于 2013-03-29T19:05:59.763 回答
2

自第 4 号案例以来,您已经返回而不是休息 易于修复 :-)

于 2013-03-29T19:07:32.147 回答
2

you've return; instead of break; in cases 4, 5, 6, and 7

于 2013-03-29T19:07:45.520 回答