我想调用一个变量,让我们说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"
}
答案 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
}
但我现在确定这与你的第二个例子有何不同。你能澄清一下你的问题吗?