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:意外的標記),這是「功能做的()」,所以有什麼問題?謝謝!
重命名功能不再次嘗試做函數名等。這可能是一個關鍵字問題。 –
這確實是一個關鍵字問題。在javascript中有一些名爲'do {} while()'的函數,並且使用'do'作爲函數名稱與之衝突,而'do'就是這樣一個**保留關鍵字**,它不能用作函數的名稱,變量等 – adeneo