Javascript 该按钮没有';行不通 提交 var a=1; var b=100; var z=数学地板(数学随机()*(b-a))+a; document.getElementById(“id”).innerHTML=(“选择一个介于1和100之间的数字,我会试着猜它。我想它是“+z+”); var y=document.getElementById(“输入”).value; 函数求值(){ var y=document.getElementById(“输入”).value; 如果(y==0){ a=x+1; z=(a+b)/2; 如果(z%2==1){ z=z-0.5 } document.getElementById(“id”).innerHTML=(“现在我认为它是”+z); stopEvent(); } 如果(y==2){ b=x-1; z=(a+b)/2; 如果(z%2==1){ z=z-0.5; } document.getElementById(“id”).innerHTML=(“现在我认为它是”+z); stopEvent(); } 如果(y==1){ document.getElementById(“id”).innerHTML=(“耶!我太聪明了。”); stopEvent(); } }
当我点击按钮时,它不会想到另一个整数,它什么也不做。我找不到任何打字错误。这个程序应该在7次猜测中猜出你的数字。你想到一个介于1和100之间的数字,它首先选择一个随机整数1-100,然后你告诉它它是太高还是太低,然后它根据你告诉它的重置其范围,然后它选择另一个整数,再选择另一个,直到它缩小到1整数。你的变量Javascript 该按钮没有';行不通 提交 var a=1; var b=100; var z=数学地板(数学随机()*(b-a))+a; document.getElementById(“id”).innerHTML=(“选择一个介于1和100之间的数字,我会试着猜它。我想它是“+z+”); var y=document.getElementById(“输入”).value; 函数求值(){ var y=document.getElementById(“输入”).value; 如果(y==0){ a=x+1; z=(a+b)/2; 如果(z%2==1){ z=z-0.5 } document.getElementById(“id”).innerHTML=(“现在我认为它是”+z); stopEvent(); } 如果(y==2){ b=x-1; z=(a+b)/2; 如果(z%2==1){ z=z-0.5; } document.getElementById(“id”).innerHTML=(“现在我认为它是”+z); stopEvent(); } 如果(y==1){ document.getElementById(“id”).innerHTML=(“耶!我太聪明了。”); stopEvent(); } },javascript,html,Javascript,Html,当我点击按钮时,它不会想到另一个整数,它什么也不做。我找不到任何打字错误。这个程序应该在7次猜测中猜出你的数字。你想到一个介于1和100之间的数字,它首先选择一个随机整数1-100,然后你告诉它它是太高还是太低,然后它根据你告诉它的重置其范围,然后它选择另一个整数,再选择另一个,直到它缩小到1整数。你的变量x从未定义过。如果计算中未定义x,则直接使用它。x应该是什么?一旦定义了x,一切都应该正常 <body> <input id="input"></input>
x
从未定义过。如果计算中未定义x
,则直接使用它。x
应该是什么?一旦定义了x
,一切都应该正常
<body>
<input id="input"></input>
<button id="button" onclick="evaluate()">Submit</button>
<br>
<p id="id"></p>
</body>
<script>
var a = 1;
var b = 100;
var z = Math.floor(Math.random() * (b-a)) + a;
document.getElementById("id").innerHTML = ("Pick a number between 1 and 100. I will try to guess it. I think it's " + z + ".");
var y = document.getElementById("input").value;
function evaluate() {
var y = document.getElementById("input").value;
if (y == 0) {
a = x + 1;
z = (a+b)/2;
if (z%2==1) {
z = z-0.5
}
document.getElementById("id").innerHTML = ("Now I think it's " + z);
stopEvent();
}
if (y == 2) {
b = x - 1;
z = (a+b)/2;
if (z%2==1) {
z = z-0.5;
}
document.getElementById("id").innerHTML = ("Now I think it's " + z);
stopEvent();
}
if (y == 1) {
document.getElementById("id").innerHTML = ("Yay! I'm so smart.");
stopEvent();
}
}
</script>
如果未定义x
,则函数evaluate()
将中断。是可用的预定义方法,因此如果发现冲突,请更改方法名称的名称
现在,正如mwilson所提到的,您正在使用变量x
,而没有用一些值声明它
我猜您已经在代码中定义了
stopEvent()
,否则您也会在那里得到一个错误。您是否查看了JavaScript控制台中的任何错误?调试器说x
可能是未定义的,因为x
没有定义。没有捕获evaluate()
的用法。抢手货
a = x + 1; // What is x?