我想让这个工作:
<!DOCTYPE html>
<html>
<body>
<form><input type='button' id='confirm' value="Confirm"/></form>
<p id="getvariable"></p>
<script>
function a(){var t= 5;}
function b(){return t;}
document.getElementById('confirm').onclick = function(){
document.getElementById("getvariable").innerHTML = b();}
</script>
</body>
但是我无法将变量传递给另一个函数。任何帮助都会很棒!
答案 0 :(得分:0)
问题是变量t在设置时属于函数a的范围。它需要是全球性的。像这样:
var t = 0;
function a(){ t = 5;}
function b(){return t;}
document.getElementById('confirm').onclick = function(){
document.getElementById("getvariable").innerHTML = b();
}
答案 1 :(得分:0)
您不能在已在特定函数中本地定义的另一个函数中使用值。
所以这是错误的:
function a(){var t= 5;}
function b(){return t;}
我要做的是:
var t=0;
function a(){t= 5;}
function b(){return t;}
document.getElementById('confirm').onclick = function(){
document.getElementById("getvariable").innerHTML = b();}
这是一个可以帮助您的链接:http://www.w3schools.com/js/js_scope.asp
答案 2 :(得分:0)
t 变量应在函数范围之外声明
var t = 0;
function a(){
t = 5;
}
function b(){
return t;
}
document.getElementById('confirm').onclick = function(){
document.getElementById("getvariable").innerHTML = b();
}