Javascript在我的代码中切换神秘感

时间:2013-03-29 19:04:46

标签: javascript

我已经为我的测试网站制作了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口号不会改变。

这对我来说是完全不合理的原因。

编辑:我是BLIND DUMB。我是个笨蛋!!!

3 个答案:

答案 0 :(得分:7)

因为在不起作用的情况下,您使用的是return;而不是break;,因此您将退出该功能,而不会到达存储结果的部分。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

在案例4,5,6和7中,您return;代替break;