从另一个js文件中获取数组条目

时间:2015-04-27 21:39:37

标签: javascript jquery arrays jquery-mobile

我有以下程序结构:

的index.html:

<html>
   <head>
      <script src="first.js"></script>
      <script src="second.js"></script>
  </head>
...</html>

first.js:

"use strict";
var array = [];

$(document).ready(function () {

$("#xy").on("tap", function () {
   array.push(new arrayItem());
} ...

second.js:

console.log(array);

在first.js中,我将一些对象推送到数组,但是second.js中的console.log表示我的数组是空的。我究竟做错了什么?感谢...

2 个答案:

答案 0 :(得分:1)

正如之前的用户所说,在文档完全加载后填充阵列时,会立即运行console.log。但是,即使您在加载文档时运行console.log,它仍然不会看到您的变量。你想要做的是在你的'tap'事件上,将数组发送到second.js中定义的函数,如下所示:

在first.js中

"use strict";
var array = [];

$(document).ready(function () {

$("#xy").on("tap", function () {
   array.push(new arrayItem());
   someFunction(array);
}

在second.js

function someFunction(array) {
    console.log(array);
    // Do the rest of your code that requires 'array' here
}

这样,每次触发on tap事件时,someFunction都会传递给数组。

答案 1 :(得分:0)

您的console.log(array)很可能在文档准备好之前被调用,即主应用程序代码运行时。

在将数据添加到数组后,您应该将console.log移动到主文件,或者在主函数完成后使用回调或事件来记录它。