如何在另一个函数中访问javascript自定义全局变量

如何在另一个函数中访问javascript自定义全局变量,java,javascript,android,cordova,Java,Javascript,Android,Cordova,我正在开发phonegap android应用程序。我试图在javascript和android java类之间建立通信 为了进行交流,我在android主活动中使用了addJavaScriptInterfaceMethod。这样我就可以在javascript中使用java对象和方法 以下是Java代码: public class Activity extends DroidGap { @Override public void onCreate(Bundle

我正在开发phonegap android应用程序。我试图在javascript和android java类之间建立通信

为了进行交流,我在android主活动中使用了addJavaScriptInterfaceMethod。这样我就可以在javascript中使用java对象和方法

以下是Java代码:

 public class Activity extends DroidGap
  {
       @Override
       public void onCreate(Bundle savedInstanceState) 
       {

            super.onCreate(savedInstanceState);
            setIntegerProperty("loadUrlTimeoutValue", 60000);
            super.loadUrl("file:///android_asset/www/jq3.html");
            MapTablesWrapper table = new MapTablesWrapper();
            super.appView.addJavascriptInterface(new MapTablesWrapper(), "tables");

           }
     }
在javascript中:下面的代码没有打印表值。它发出未定义的警报

var tableName = tables.getTableName();
function(){
       alert(tableName);

 }
如果我在函数中声明了var table,那么打印tableName和下面的代码是

 function(){
       var table = tables.getTableName();
       alert(tableName);
 }
但是我想在函数外部声明变量,并想在函数内部使用该变量。

您可以这样做

var global = {
    table : null
};

function()
{
   global.table = tables.getTableName();
   alert(global.table);
}

您可以将global重命名为JS文件名,这样就可以使用
fileName.table
访问当前文件中的所有函数以及任何其他JS文件中的该变量,这里是
global.table

Try
var global={table:tables.getTableName};function(){alert(global.table);}
您可以将
global
重命名为您的JS文件名。感谢您的回复。我在我的应用程序中使用了相同的代码。它无法识别table变量。我收到一个错误,指出referenceError:表未定义