我的html页面显示一个按钮,在单击该按钮时调用该功能。我检查以确保按钮在单击时显示消息并且工作正常。我创建了这个函数来改变全局变量,但是当我点击我的html页面上的另一个按钮来显示变量的值时,varibles没有改变为我使用我的函数设置它们的值。有人可以在我的代码中找到问题吗?
var a = 5;
var b = 16;
var c = 27;
function reset(){
a = 0;
b = 0;
c = 0;
}
我的html代码调用函数:
<!DOCTYPE HTML>
<html>
<center>
<script type="text/javascript" src="game.js" > </script>
<form>
<input type="button" value="Reset Variables" style="width:250px;height:50px" onclick="reset()" >
</form>
</html>
显示变量的Javascript代码:
function display(){
document.write("A is equal to " + a + "<br/>");
document.write("B is equal to " + b + "<br/>");
document.write("C is equal to " + c );
}
Html显示变量
<!DOCTYPE HTML>
<html>
<center>
<script type="text/javascript" src="game.js" > </script>
<form>
<input type="button" value="Show Variables" style="width:250px;height:50px" onclick="display()" >
</form>
</html>
答案 0 :(得分:0)
这不起作用,因为你在函数范围内断言变量。但是您的变量当前存储在全局范围(窗口)中,因此该代码将起作用:
var a = 5;
function reset() {
console.log(window.a); // 5
window.a = 10;
}
reset();
console.log(a); // 10
答案 1 :(得分:0)
将函数名称更改为reset_vars或其他任何内容。 reset()是用于重置表单的内置DOM函数。
http://www.w3schools.com/jsref/met_form_reset.asp
除非定义了局部变量,否则在函数内部使用全局变量时不会发生任何冲突。在这种情况下,使用window.variable_name来访问全局变量。