[英]How to access value of the global variable in other function javascript
这是一个类似的例子
var global=0;
function somefunction()
{
global++;
}
var temp=global;
function somefunctiontwo()
{
var x=temp;
}
在这里我得到x = 0我想要x = 1
如何将新赋值的全局变量赋值给x
使用对象作为全局变量; 对于简单(数字)类型,将通过引用而不是“按值”分配:
var global = { value: 0 };
var temp = global;
在功能:
global.value++;
现在是:
temp.value == 1
temp
和global
指的是两个不同的变量。 分配给global
不会更改temp
的值。
只需将var x=temp
更改为var x=global
。 目前尚不清楚为什么需要一个中间变量。
var global=0;
var temp;
function somefunction(){
global++;
}
function somefunctiontwo() {
var x=temp;
console.log(x);
}
somefunction();
temp=global;
somefunctiontwo();
这将给你你期望的。 注意你如何/在何处调用这些功能。
你的结构似乎有点偏,不确定这是否是我们看不到的原因......请假设它是。 可以具有将temp值重新定义为global的函数。
function syncGlob(){
return temp = global;
}
返回temp也可以在创建x时调用它。
var x = syncGlob();
您将temp的值设置为全局PRIOR到准备好的触发 - 此时全局为0.如果在on ready处增加全局,则temp的值为0。
当你单击somefunction2并为x赋值时,temp的值为0,因为在temp启动时,global的值为0 NOT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.