admin管理员组

文章数量:1394057

I have some functions and some variables. I would like to return a variable and the function oute as text on my browser.

What I have done is I have made a HTML file with the text:

<SCRIPT SRC="rockpaper.js">
</SCRIPT>

And this refers to this javascript file:

var userChoice = prompt("Do you choose rock, paper or scissors?");
var puterChoice = Math.random();
if (puterChoice < 0.34) {
    puterChoice = "Computer chooses rock";
} else if(puterChoice <= 0.67) {
    puterChoice = "Computer chooses paper";
} else {
    puterChoice = "Computer chooses scissors";
}

console.log(puterChoice);

var pare = function(choice1,choice2)
{
    if(choice1===choice2)
    {
        return("The result is a tie!");
    }

    if(choice1==="Computer chooses rock")
    {
        if(choice2==="scissors")
        {
            return("rock wins");
        }
            else
            {
                return("paper wins");
            }
    }
    if(choice1==="Computer chooses paper")
    {
        if(choice2==="rock")
            return("paper wins");
            else
            {
                return("scissors wins");
            }
    }
    if(choice1==="Computer chooses scissors")
    {
        if(choice2==="rock")
        {
        return("rock wins");
        }
        else
        {
            return("scissors wins");
        }
    }
}

console.log(pare(puterChoice,userChoice))

However, when I open it with a browser, the text doesn't display, but the prompt does.

It works fine in Codecademy, though.

I have some functions and some variables. I would like to return a variable and the function oute as text on my browser.

What I have done is I have made a HTML file with the text:

<SCRIPT SRC="rockpaper.js">
</SCRIPT>

And this refers to this javascript file:

var userChoice = prompt("Do you choose rock, paper or scissors?");
var puterChoice = Math.random();
if (puterChoice < 0.34) {
    puterChoice = "Computer chooses rock";
} else if(puterChoice <= 0.67) {
    puterChoice = "Computer chooses paper";
} else {
    puterChoice = "Computer chooses scissors";
}

console.log(puterChoice);

var pare = function(choice1,choice2)
{
    if(choice1===choice2)
    {
        return("The result is a tie!");
    }

    if(choice1==="Computer chooses rock")
    {
        if(choice2==="scissors")
        {
            return("rock wins");
        }
            else
            {
                return("paper wins");
            }
    }
    if(choice1==="Computer chooses paper")
    {
        if(choice2==="rock")
            return("paper wins");
            else
            {
                return("scissors wins");
            }
    }
    if(choice1==="Computer chooses scissors")
    {
        if(choice2==="rock")
        {
        return("rock wins");
        }
        else
        {
            return("scissors wins");
        }
    }
}

console.log(pare(puterChoice,userChoice))

However, when I open it with a browser, the text doesn't display, but the prompt does.

It works fine in Codecademy, though.

Share Improve this question asked Dec 1, 2013 at 6:48 PazePaze 1831 gold badge1 silver badge11 bronze badges 6
  • Have you opened up your browser console? The text should be displayed there. In case you are using Google Chrome, look for the console in Tools / Developer tools. – bagonyi Commented Dec 1, 2013 at 6:50
  • console.log() outputs to your browser console (hit f12 to bring it up). If you want to display the text to a browser window, you need to assign the return value to a var, then do document.write(var); – ryanlutgen Commented Dec 1, 2013 at 6:51
  • How would I assign the return value to a var? Thank you. – Paze Commented Dec 1, 2013 at 7:17
  • @BjarniJóhannsson if you do not know what a var is or how to use it then maybe you're starting to learn javascript in the wrong place. – iConnor Commented Dec 1, 2013 at 7:20
  • I almost got it. Using document.write() I have gotten my two sentences together in the browser, but they are written directly after each other. How do I add an indent between them? (like if I pressed enter, not sure what it's called). – Paze Commented Dec 1, 2013 at 7:22
 |  Show 1 more ment

1 Answer 1

Reset to default 2

Nothing being displayed on the page is normal behaviour seeing as you have not told the browser to do so.

Maybe you want something like this.

document.body.innerHTML = pare(puterChoice, userChoice);

Basically, this set's the HTML of the body to value and removes anything currently in the body, or

var generatedText = pare(puterChoice,userChoice), // 1
    myText = document.createTextNode( generatedText );  // 2
document.body.appendChild( myText );                    // 3

Will on line 1 get the generated value and save it, on line 2 will create a text element on the document and on line 3 it will append the text element/node to the end of the body.

This way nothing is removed from the document.

本文标签: How to display text in JavascriptStack Overflow