Javascript 使用函数显示随机数,然后使用ifelse语句分配一周中的天数

Javascript 使用函数显示随机数,然后使用ifelse语句分配一周中的天数,javascript,math,if-statement,Javascript,Math,If Statement,当用户单击按钮时,脚本应该生成一个随机数,然后显示相应的星期天。下面的代码是我目前所拥有的,唉,它似乎不起作用。 我已经调试过了,显然我的函数没有定义 <!DOCTYPE html> <html> <body> <p>Click the button to display a random number between 1 and 7</p> <button onclick="myFunct

当用户单击按钮时,脚本应该生成一个随机数,然后显示相应的星期天。下面的代码是我目前所拥有的,唉,它似乎不起作用。 我已经调试过了,显然我的函数没有定义

 <!DOCTYPE html>
    <html>

    <body>

    <p>Click the button to display a random number between 1 and 7</p>

    <button onclick="myFunction()">Get Random</button>   

    <p id="task1"></p>

    <script>
        function myFunction() {
        var x = Math.floor((Math.random() * 7 + 1);
        document.getElementById("task1").innerHTML = x;
        }

        if (x===1)
        {
            document.write("today is sunday");
        }
        else if(x===2)
        {
            document.write("today is monday");
        }
        else if(x===3)
        {
            document.write("today is tuesday");
        }
        else if(x===4)
        {
            document.write("today is wednesday");
        }
        else if(x===5)
        {
            document.write("today is thursday");
        }
        else if(x===6)
        {
            document.write("today is friday");
        }
        else if(x===7)
        {
            document.write("today is saturday");
        }

    </script>

    </body>

    </html>

单击按钮以显示介于1和7之间的随机数

随机

函数myFunction(){ var x=数学地板((数学随机()*7+1); document.getElementById(“task1”).innerHTML=x; } 如果(x==1) { 写下(“今天是星期日”); } else如果(x==2) { 写文件(“今天是星期一”); } else如果(x==3) { 写文件(“今天是星期二”); } else如果(x==4) { 写文件(“今天是星期三”); } else如果(x==5) { 写文件(“今天是星期四”); } else如果(x==6) { 写文件(“今天是星期五”); } else如果(x==7) { 写文件(“今天是星期六”); }
您的
var x
myFunction
正文中定义的局部变量。它在您的函数之外是不可访问的(在所有
if
中)

var x=Math.floor(Math.random()*7+1);
语句中还有多余的左括号

更正版本:

function myFunction() {
    var x = Math.floor(Math.random() * 7 + 1);
    document.getElementById("task1").innerHTML = x;        

    if (x===1)
    {
        document.write("today is sunday");
    }
    else if(x===2)
    {
        document.write("today is monday");
    }
    else if(x===3)
    {
        document.write("today is tuesday");
    }
    else if(x===4)
    {
        document.write("today is wednesday");
    }
    else if(x===5)
    {
        document.write("today is thursday");
    }
    else if(x===6)
    {
        document.write("today is friday");
    }
    else if(x===7)
    {
        document.write("today is saturday");
    }
}

您有一个额外的括号,代码在呈现函数之前抛出一个异常

var x=数学地板(数学随机()*7+1); document.getElementById(“task1”).innerHTML=x


建议您可以使用浏览器控制台查看到底哪里出了问题。

您在
Math.floor
函数中有一个额外的括号。尝试运行以下操作,您将看到效果

函数myFunction(){
var x=数学地板(数学随机()*7+1);
document.getElementById(“task1”).innerHTML=x;
如果(x==1)
{
写下(“今天是星期日”);
}
else如果(x==2)
{
写文件(“今天是星期一”);
}
else如果(x==3)
{
写文件(“今天是星期二”);
}
else如果(x==4)
{
写文件(“今天是星期三”);
}
else如果(x==5)
{
写文件(“今天是星期四”);
}
else如果(x==6)
{
写文件(“今天是星期五”);
}
else如果(x==7)
{
写文件(“今天是星期六”);
}
}
单击该按钮可显示介于1和7之间的随机数

随机

例如,如果您使用和对象日期,它可以更容易、更短

//声明保存日期的对象。
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
//声明单击按钮时触发的函数。
函数myFunction(){
//声明生成0到7之间随机数的变量x,
//它从0开始,因为第一天“星期天”是天[0],而不是天[1]。
var x=Math.floor(Math.random()*7);
//将结果写入p元素
document.getElementById(“task1”).innerHTML=“今天是”+天[x];
}
点击这里

我注意到
var x=Math.floor((Math.random()*7+1);
中的括号是不平衡的。谢谢你,感谢你的解释和修复当用代码回答问题时,你应该包括一些关于代码如何回答问题的文本描述。通常,只有代码的答案对其他人没有多大用处。