Javascript Phonegap应用程序上的变量

Javascript Phonegap应用程序上的变量,javascript,cordova,Javascript,Cordova,我正在每个平台上开发Phonegap应用程序。除了变量的声明,一切都很顺利。这是我的密码: <script type="text/javascript" src="phonegap.js"></script> <script type="text/javascript"> var something = "Sth"; document.addEventListener('deviceready',startsth(),false); functio

我正在每个平台上开发Phonegap应用程序。除了变量的声明,一切都很顺利。这是我的密码:

<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript">
  var something = "Sth";
  document.addEventListener('deviceready',startsth(),false);
  function startsth(){document.write(something);}
    ....
</script>

var something=“某物”;
document.addEventListener('devicerady',startsth(),false);
函数startsth(){document.write(something);}
....

当我尝试检查是否存在internet时,应用程序输出“undefined”。如果我不检查网络,它可以正常工作。如何解决此问题?

您正在以错误的方式连接设备ADY处理程序:

document.addEventListener('deviceready',startsth(),false);
                                                 ^------ REMOVE THIS PARENS
当您连接到
startsth()
时,您使用的是
startsth
函数的返回值,而不是指向函数本身的指针,它只是
startsth
使用以下方法:

<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript">
  var something = "Sth";
  document.addEventListener('deviceready',startsth,false);
  function startsth(){document.write(something);}
    ....
</script>

var something=“某物”;
文件。添加的监听器('DeviceRady',startsth,false);
函数startsth(){document.write(something);}
....
您正在使用括号立即调用函数
startsth
,即
startsth()

更新:

其他尝试事项:

确保src=“phonegap.js”的路径正确

将脚本移动到文档顶部附近,这样您就不会错过任何事件

切换脚本的顺序,以防事件很快被触发而您丢失它


不要使用
document.write(…)
-如果在加载DOM后调用它,它会覆盖页面内容,导致页面大部分为空白。

您必须更具体一些。“未定义变量something”没有多大帮助。控制台怎么说?还是没用。我试了很多次,但似乎都不起作用。