如何在其他函数javascript中访问全局变量的值

时间:2014-07-28 16:12:44

标签: javascript

这是一个类似的例子

var global=0;
function somefunction()
{
    global++;
}

var temp=global;
function somefunctiontwo()
{
    var x=temp;
}

这里我得x = 0 我想要x = 1

如何将新指定的全局变量值分配给x

5 个答案:

答案 0 :(得分:3)

使用对象作为全局变量;这将通过引用分配,而不是通过值'至于简单(数字)类型:

var global = { value: 0 };

var temp = global;

功能:

global.value++;

现在是:

temp.value == 1

答案 1 :(得分:0)

tempglobal指的是两个不同的变量。分配到global不会更改temp中的值。

只需将var x=temp更改为var x=global即可。目前尚不清楚为什么需要一个中间变量。

答案 2 :(得分:0)

var global=0;
var temp;
function somefunction(){
  global++;
}



function somefunctiontwo() {
    var x=temp;
    console.log(x);
}

somefunction();
temp=global;
somefunctiontwo();

这将满足您的期望。注意你如何/在何处调用这些功能。

答案 3 :(得分:0)

你的结构似乎有些偏差,不确定这是否是我们看不到的原因......请假设它是。可以有一个将temp值重新定义为global的函数。

function syncGlob(){
    return temp = global;
}

返回temp也可以在创建x时调用它。

var x = syncGlob();

答案 4 :(得分:0)

您将temp的值设置为全局PRIOR到准备就绪 - 此时全局为0.如果在on ready处增加全局,则temp的值为0.

当你点击somefunction2并给x赋值temp时,temp的值为0,因为在temp启动时,global的值为0 NOT 1