在其他函数中调用局部变量:Javascript

时间:2011-12-08 18:34:17

标签: javascript variables global-variables

我想调用一个变量,让我们说var cow;放在函数function farm()的函数function milk()中。

<script type="text/javascript">
var cow
function farm() {

cow = Math.Random;

}

function milk(){

// call/return value of cow

}
</script>

点击此链接:GLOBAL VARIABLES IN JAVASCRIPT by Snook
现在,如果你仔细看到最后的代码,并测试它...它实际上不起作用,但我想要类似的工作。你可以查看下面的代码......

var myValue;
function setValue()
{
    myValue = "test";
}

function getValue()
{
    alert(window.myValue); // yup, it's "test" (original) ---> (after testing) No its "undefined"
}

3 个答案:

答案 0 :(得分:2)

与您的示例类似,您可以在全局范围内声明cow:

var cow;

function farm() {

  cow = Math.random();

}

function milk(){

  // call/return value of cow

}

这是一个工作小提琴http://jsfiddle.net/IrvinDominin/FTt5D/;注意随机是一种方法,你必须使用括号()并以小写形式写。

答案 1 :(得分:2)

您拥有的内容实际上会有效,因为cow对于封闭范围(在本例中为全局)hoisted。它可能不起作用,因为该函数实际上是random(),而不是Random(),它是一个函数而不是变量 - 试试这个:

function farm() {
   cow = Math.random();
}

function milk(){
   // call/return value of cow
   alert(cow);
}

farm(); //Init cow
milk(); //call milk

答案 2 :(得分:0)

在全局范围内声明cow

var cow;

function farm() {
  cow = Math.Random;
}

function milk() {
  // call/return value of cow
}

但我现在确定这与你的第二个例子有何不同。你能澄清一下你的问题吗?

相关问题