如何将变量传递给另一个要调用的函数 - Javascript

时间:2015-02-18 14:04:27

标签: javascript html variables

我想让这个工作:

<!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>

但是我无法将变量传递给另一个函数。任何帮助都会很棒!

3 个答案:

答案 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();
}

Demo here

答案 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();
   }