javascript如果功能,我做错了什么?

时间:2013-05-21 19:27:52

标签: javascript if-statement

我已经编写了这个javascript函数,但似乎没有用。谁能告诉我哪里出错了?它应该是正确的,但经过测试后,生成一些数字似乎有效,我认为它的if语句有问题。任何帮助将不胜感激

<html>
    <head>
        <script>
            function myfunction()
            {
                var x=Math.floor((Math.random()*3)+1);
                myfunc();
            }

            function myfunc()
            {
                if (x == 1)
                {
                    document.write("1")
                }
                else if (x == 2)
                {
                    document.write("2")
                }
                else if (x == 3)
                {
                    document.write("3")
                }
            }
        </script>
    </head>
    <body>
        <button onclick="myfunction()">Click me</button>
    </body>
</html>

2 个答案:

答案 0 :(得分:7)

将x传递给您的函数,就像这样..

var x=Math.floor((Math.random()*3)+1);
myFunc(x);

function myFunc(x) {
    //now you can use x
}

答案 1 :(得分:6)

x不在myfunc的范围内。它在myfunction的范围内。你必须把它作为一个论点传递:

myfunc(x);

修改myfunc

的定义
function myfunc(x)

此外,不需要if语句。 document.write()无论如何都将其参数转换为字符串,所以你可以这样做:

function myfunc(x) {
    document.write(x);
}

虽然如果你只是测试一下,不要使用document.write。使用console.log并打开JS控制台。它具有代码完成功能,可以很好地处理对象。