从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]