为什么我的javascript无法正常工作?

时间:2016-11-15 23:41:48

标签: javascript arrays prompt

只显示脚本上方的html文本;提示永远不会出现。我无法弄清楚遗失/错误的原因。也是作业作业,我没有编写主题/内容哈哈。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Part 1 Problem 6</title>
    </head>
    <body>
        <h1>JS Lab 1 Question Answers</h1>
        <ol>
            <li>document.write is the script that tells the browser to write certain text. document.getElementById allows you to change certain text that is already written by calling it by its id. Using document.getElementById, you can modify a large group of your code at the same time.</li>
            <li>A variable holds the place of a certain value in your code, like a number or a name. An array holds multiple values</li>
            <li>If there was no variable with the prompt, you would still get the prompt but nothing would be done about it. What you enter into the prompt becomes the value of the variable.</li>
            <!--<script>document.write("<li>To generate a random number between 50 and 350 (not including 350) you would write var randnum (or whatever you name your variable) = (Math.floor(Math.random() * 300) + 50)</li>")</script>-->
            <li>If you generate 4 different random numbers, you should have at least 4 variables.</li>
        </ol>
        <script>
            var insultarray = new Array();
            insultarray[0] = "You smell bad";
            insultarray[1] = "You are ugly";
            insultarray[2] = "I just really don't like you";
            insultarray[3] = "You are annoying";
            insultarray[4] = "Your hair looks bad";
            var randnum = (Math.floor(Math.random()*5);
            var x = prompt("Want to know what I think?","yes");
            if (x == "yes")
            {
                document.write("<p>" + insultarray[randnum] + "</p>");
            }
            else
            {
                document.write("<p>Honestly, I like you.</p>");
            }
        </script>
    </body>
</html>

5 个答案:

答案 0 :(得分:0)

您在Math.floor(Math.random()*5)中有一个前导括号,我在下面删除并立即开始工作。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Part 1 Problem 6</title>
    </head>
    <body>
        <h1>JS Lab 1 Question Answers</h1>
        <ol>
            <li>document.write is the script that tells the browser to write certain text. document.getElementById allows you to change certain text that is already written by calling it by its id. Using document.getElementById, you can modify a large group of your code at the same time.</li>
            <li>A variable holds the place of a certain value in your code, like a number or a name. An array holds multiple values</li>
            <li>If there was no variable with the prompt, you would still get the prompt but nothing would be done about it. What you enter into the prompt becomes the value of the variable.</li>
            <!--<script>document.write("<li>To generate a random number between 50 and 350 (not including 350) you would write var randnum (or whatever you name your variable) = (Math.floor(Math.random() * 300) + 50)</li>")</script>-->
            <li>If you generate 4 different random numbers, you should have at least 4 variables.</li>
        </ol>
        <script>
            var insultarray = new Array();
            insultarray[0] = "You smell bad";
            insultarray[1] = "You are ugly";
            insultarray[2] = "I just really don't like you";
            insultarray[3] = "You are annoying";
            insultarray[4] = "Your hair looks bad";
            var randnum = Math.floor(Math.random()*5);
            var x = prompt("Want to know what I think?","yes");
            if (x == "yes")
            {
                document.write("<p>" + insultarray[randnum] + "</p>");
            }
            else
            {
                document.write("<p>Honestly, I like you.</p>");
            }
        </script>
    </body>
</html>

答案 1 :(得分:0)

你在这里缺少一个支架(或者太多了):

var randnum = (Math.floor(Math.random()*5);

应该是这样的:

var randnum = Math.floor(Math.random()*5);

答案 2 :(得分:0)

var randnum = (Math.floor(Math.random()*5); 

Math.floor之前有braket,删除它。

答案 3 :(得分:0)

大声笑你的剧本有一种人为的解释,更像是伤害问题 顺便说一下,你错过了一个括号

var insultarray = new Array();
insultarray[0] = "You smell bad";
insultarray[1] = "You are ugly";
insultarray[2] = "I just really don't like you";
insultarray[3] = "You are annoying";
insultarray[4] = "Your hair looks bad";
var randnum = (Math.floor(Math.random()*5));
var x = prompt("Want to know what I think?","yes");
if (x == "yes")
{
  document.write("<p>" + insultarray[randnum] + "</p>");
}
else
{
  document.write("<p>Honestly, I like you.</p>");
}
<h1>JS Lab 1 Question Answers</h1>
<ol>
  <li>document.write is the script that tells the browser to write certain text. document.getElementById allows you to change certain text that is already written by calling it by its id. Using document.getElementById, you can modify a large group of your code at the same time.</li>
  
  <li>A variable holds the place of a certain value in your code, like a number or a name. An array holds multiple values</li>

  <li>If there was no variable with the prompt, you would still get the prompt but nothing would be done about it. What you enter into the prompt becomes the value of the variable.</li>

  <li>If you generate 4 different random numbers, you should have at least 4 variables.</li>
</ol>

答案 4 :(得分:0)

你忘了在第23行添加一个右括号,它应该是:

var randnum = Math.floor(Math.random()*5);

通过查看控制台可以发现这些错误。