我正在使用 javascript/JQuery 运行此 html 文档,在回答提示后,没有任何反应。附加功能似乎不起作用。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>
Rock Paper Scissors
</title>
<script>
var userChoice = prompt("Do you choose rock, paper, scissors lizard or spock?");
userChoice = userChoice.toLowerCase();
var computerChoice = function(){
var choices = ["rock", "paper", "scissors", "lizard", "spock"];
var random = Math.random();
var loop = true;
while (loop){
i = 0.2;
j = 0;
if (random <= i){
var choices = choices[j]
var loop = false;
}
else {
i = i +0.2;
j ++;
}
}
return choices;
};
$(document).ready(function(){$("body").append(userChoice);});
$(document).ready(function(){$("body").append(computerChoice());});
</script>
</head>
<body>
</body>
</html>
最佳答案
这有一些问题。
- 你没有像其他人指出的那样包含 jQuery
- 你对两个不同的值使用了变量 choices 两次
- 你的循环全错了,j 每次都重置为 0,所以你是 总是会选择“摇滚”
- 你实际上不需要一个循环,你只需要随机选择一个 数组成员
我已经为你整理了一下 - jsfiddle here http://jsfiddle.net/7DWhL/
<!DOCTYPE html>
<html>
<head>
<title>Rock Paper Scissors</title>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
var userChoice = "",
computerChoice = "",
choices = ["rock", "paper", "scissors", "lizard", "spock"];
$(document).ready( function(){
userChoice = prompt( "Do you choose rock, paper, scissors lizard or spock?" );
userChoice = userChoice.toLowerCase();
computerChoice = choices[ Math.floor( choices.length * Math.random() ) ];
$( "body" ).append( "<p>" + userChoice + "</p>" );
$( "body" ).append( "<p>" + computerChoice + "</p>" );
});
</script>
</head>
<body>
</body>
</html>
关于javascript - 我的变量不会附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747217/