Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript正确设置全局变量_Javascript_Global Variables - Fatal编程技术网

从JavaScript正确设置全局变量

从JavaScript正确设置全局变量,javascript,global-variables,Javascript,Global Variables,我有简单的代码: <script type="text/javascript"> var dataFromBrowser; var dataForStore = []; var callServerOwnerId = { callback:callbackFunction, arg: dataFromBrowser }; // call to DWR function - from Java AssetScreener.getEntityOwnerIds(callS

我有简单的代码:

<script type="text/javascript">

var dataFromBrowser;
var dataForStore = [];

var callServerOwnerId = { 
  callback:callbackFunction, 
  arg: dataFromBrowser 
};
// call to DWR function - from Java
AssetScreener.getEntityOwnerIds(callServerOwnerId);


function callbackFunction(dataFromServer, arg1) {
 // yes, I see what I need
 alert(dataFromServer);
 return dataForStore[0] = dataFromServer[0];

}



console.log(dataForStore);

var数据浏览器;
var dataForStore=[];
var callServerOwnerId={
callback:callbackFunction,
arg:dataFromBrowser
};
//从Java调用DWR函数
AssetScreener.GetEntityOwnerId(callServerOwnerId);
函数调用函数(dataFromServer,arg1){
//是的,我知道我需要什么了
警报(来自服务器的数据);
返回dataForStore[0]=dataFromServer[0];
}
console.log(dataForStore);


问题是,我需要从我的
callbackFunction
检索数据,并将数据设置为
dataForStore

删除dataForStore之前的var,它将成为一个全局变量

删除dataForStore之前的var,它将成为一个全局变量

在javascript中,设置全局变量就像匹配var关键字一样简单

例如:

 var someVar = 5

 function foo(){
      someVar = someVar + 1;
 }   
将产生未定义的

 someVar = 5;

 function foo(){

      someVar = someVar+1;
 }

将产生6。请注意,一般来说(当然也有例外),如果您使用全局变量,您就错了。

在javascript中,设置全局变量就像匹配var关键字一样简单

例如:

 var someVar = 5

 function foo(){
      someVar = someVar + 1;
 }   
将产生未定义的

 someVar = 5;

 function foo(){

      someVar = someVar+1;
 }
将产生6。请注意,一般来说(当然也有例外),如果您使用全局变量,您就错了。

您不需要“返回”,只需要dataForStore[0]=dataFromServer[0]您不需要“返回”,只需要dataForStore[0]=dataFromServer[0]