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

时间:2013-09-20 12:40:12

标签: java javascript android cordova

我开发了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表。它打印tableName并且代码是

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

但我想在函数之外声明变量,并希望在函数内部使用变量。

1 个答案:

答案 0 :(得分:0)

你可以这样做

var global = {
    table : null
};

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

您可以将全局重命名为JS文件名,以便可以使用fileName.tableglobal.table访问当前文件中的所有函数以及任何其他JS文件中的此变量{{1}}