如何定义全局数组?

Con*_*eak 3 javascript jquery

代码示例:

 <script>
      var data = new Array();
      data[0] = 'hi';
      data[1] = 'bye';
 </script>

 <script>
      alert(data[0]);
 </script>
Run Code Online (Sandbox Code Playgroud)

这会出现以下错误: data is not defined

你怎么做这样的工作?特别是如果第一个<script>块由ajax加载到页面上,并且第二个块正在使用它.jQuery解决方案是可以接受的

xan*_*ded 8

New 不是关键字.

使用:

var data = new Array();
Run Code Online (Sandbox Code Playgroud)

或者,更简洁:

var data = [];
Run Code Online (Sandbox Code Playgroud)

编辑后,提到第一个脚本块是异步加载的.您的代码将无法正常工作.data一旦加载到页面上,它就是一个全局变量.您需要使用回调模式来正确执行代码.

由于您尚未发布异步代码,因此我不打算提供callback示例.但是,快速解决方案如下:

var interval = setInterval(function(){
    if(data) {
        /* ... use data ... */
        clearInterval(interval);
    }
}, 500);
Run Code Online (Sandbox Code Playgroud)