2017-07-22 76 views
1

我有一個簡單的javascript代碼,但它不起作用。我的代碼是:html body onload不起作用

<html> 
<head> 
    <title>JavaScript</title> 
<script>  
var target; 
var guess_input; 
var guesses = 0; 
var finished = false; 
var colors = ["black","blue","green","purple","red","white","yellow"]; 



     function do(){ 


      var random = Math.random(); 
      var index = Math.floor(random * 7); 
      target = colors[index]; 
      while(!finished){ 
       guess_input = prompt("I am thinking of a color : black, blue, green, purple, red, white \n\n" + "What color am i thinking of?"); 
       guesses++; 
       finished = check();    
      } 
      var myBody = document.getElementsByTagName("body")[0]; 
      myBody.style.background = target; 
     } 

     function check(){ 
      if (guess_input > target){ 
       alert("your color is alphabetically higher than mine"); 
       return false; 
      } 

      if (guess_input < target){ 
       alert("your color is alphabetically lower than mine"); 
       return false; 
      } 

      if (guess_input == target){ 
       alert("your color is correct! it tooks you" + guesses "guesses to finish the game!"); 
       return true; 
      } 
      else { 
       alert("Sorry, I do not recoginize your color"); 
       return false; 
      } 
</script> 
</head> 
    <body onload = "do()"> 

    </body> 

</html> 

的錯誤信息是:未捕獲的SyntaxError:意外的標記做 part2.html:53未捕獲的SyntaxError:意外的標記),這是「功能做的()」,所以有什麼問題?謝謝!

+0

重命名功能不再次嘗試做函數名等。這可能是一個關鍵字問題。 –

+3

這確實是一個關鍵字問題。在javascript中有一些名爲'do {} while()'的函數,並且使用'do'作爲函數名稱與之衝突,而'do'就是這樣一個**保留關鍵字**,它不能用作函數的名稱,變量等 – adeneo

回答

0

你失蹤了功能檢查和更改關閉括號例如DoSomething的

<html> 
    <head> 
     <title>JavaScript</title> 
    <script>  
    var target; 
    var guess_input; 
    var guesses = 0; 
    var finished = false; 
    var colors = ["black","blue","green","purple","red","white","yellow"]; 
      function doSomething(){ 


       var random = Math.random(); 
       var index = Math.floor(random * 7); 
       target = colors[index]; 
       while(!finished){ 
        guess_input = prompt("I am thinking of a color : black, blue, green, purple, red, white \n\n" + "What color am i thinking of?"); 
        guesses++; 
        finished = check();  
       } 
       var myBody = document.getElementsByTagName("body")[0]; 
       myBody.style.background = target; 
      } 

      function check(){ 
       if (guess_input > target){ 
        alert("your color is alphabetically higher than mine"); 
        return false; 
       } 

       if (guess_input < target){ 
        alert("your color is alphabetically lower than mine"); 
        return false; 
       } 

       if (guess_input == target){ 
        alert("your color is correct! it tooks you" + guesses "guesses to finish the game!"); 
        return true; 
       } 
       else { 
        alert("Sorry, I do not recoginize your color"); 
        return false; 
       } 
      } 
    </script> 
    </head> 
    <body onload="doSomething()"> 

    </body> 

    </html>