Увеличение c, похоже, не работает внутри оператора if. Однако он работает, если поместить его внутри функции. Также document.write не работает внутри оператора if. Есть идеи?


<html>
    <head>
        
    </head>

    <body>

        <p id="demo"></p>

        <script>
            var c = 0;

            function round (playerSelection = 'Rock' , computerSelection = 'Rock') {

                 if (playerSelection == 'Rock' && computerSelection == 'Rock') {
                     return 'draw';
                     c++; 
                     document.write (c); 
                     document.write("c"); 
                  }
    
            }
            document.getElementById("demo").innerHTML = round();
            document.write (c); document.write("c"); 

        </script>
    </body>
</html>

-1
physic 15 Мар 2021 в 14:18

2 ответа

Лучший ответ

Когда вы вернетесь, вы выйдете из функции

if (playerSelection == 'Rock' && computerSelection == 'Rock') {
       
                 return 'draw';
                 c++; 
                 document.write (c); 
                 document.write("c"); 
              }

Поэтому c ++; линия никогда не достигается. Переместите возврат в конец оператора if

0
user2861571 15 Мар 2021 в 11:32

Вот рабочий код -


<html>
    <head>
        
    </head>

    <body>

        <p id="demo"></p>

        <script>
            var c = 0;

            function round (playerSelection = 'Rock' , computerSelection = 'Rock') {

                 if (playerSelection == 'Rock' && computerSelection == 'Rock') {
                     c++; 
                     document.write (c); 
                     document.write("c");
                     return 'draw';
                  }
    
            }
            document.getElementById("demo").innerHTML = round();
            document.write (c); document.write("c"); 

        </script>
    </body>
</html>

1
Todarmal 15 Мар 2021 в 11:30