无法从另一个javascript文件引用javascript数组

无法从另一个javascript文件引用javascript数组,javascript,arrays,highcharts,Javascript,Arrays,Highcharts,我正在尝试使用highcharts创建一个图表,在该图表中,我无法获取存储在另一个js文件中的数据 我的main.js文件包含了创建图表的所有代码。它有一个系列的部分 series: [{ name: 'Desktops', data: '/data/desktop.js', tooltip: { valueDecimals: 2 } }] 这里我想引

我正在尝试使用highcharts创建一个图表,在该图表中,我无法获取存储在另一个js文件中的数据

我的main.js文件包含了创建图表的所有代码。它有一个系列的部分

series: [{
            name: 'Desktops',
            data: '/data/desktop.js',
            tooltip: {
                valueDecimals: 2
            }
        }]
这里我想引用另一个js文件中的数据。文件名为desktop.js,其数组如下

var desktopData = [[1475272800000, 117759], [1475359200000, 106147], [1475445600000, 147747], [1475532000000, 302031], [1475618400000, 520539], [1475704800000, 245353], [1475791200000, 180376], [1475877600000, 78819], [1475964000000, 90466], [1476050400000, 257822], [1476136800000, 284465], [1476223200000, 242898], [1476309600000, 297186], [1476396000000, 268069], [1476482400000, 183149], [1476568800000, 410442], [1476655200000, 1117798], [1476741600000, 1274668], [1476828000000, 1331799], [1476914400000, 1230213], [1477000800000, 888251], [1477087200000, 572050], [1477173600000, 931144], [1477260000000, 1556641], [1477346400000, 1526736], [1477432800000, 1310133], [1477519200000, 1207422], [1477605600000, 785556], [1477692000000, 487264], [1477778400000, 787714], [1477868400000, 942663]];

如何引用另一个文件中定义的数组?

是否使用任何类型的框架?要将JS文件加载到另一个文件中,您需要以某种方式要求它,可以使用AMD、ES导入或任何其他方式(同步或异步)

如果您只是将文件添加到HTML(使用脚本标记),那么您需要做的唯一一件事就是确保加载了文件(
DOMContentLoaded
event),然后必须将数据附加到全局范围

浏览器中的全局范围称为
窗口
,每次使用
var
未在范围中声明的变量时,表示JS正在全局范围中搜索它。为了将某个内容分配给全局范围,您可以省略
var
或像这样明确地分配它:

window.desktopData = [];

// And then in another file, assuming that the data is ready

var myData = window.desktopData
还请记住,将文件包含在
标记中通常意味着它们将阻止您的浏览器,并且文件的顺序很重要(至少当您希望依赖于一个文件在另一个文件之前已经加载的事实时)。我建议使用某种导入系统:


您是否使用任何类型的框架?要将JS文件加载到另一个文件中,您需要以某种方式要求它,可以使用AMD、ES导入或任何其他方式(同步或异步)

如果您只是将文件添加到HTML(使用脚本标记),那么您需要做的唯一一件事就是确保加载了文件(
DOMContentLoaded
event),然后必须将数据附加到全局范围

浏览器中的全局范围称为
窗口
,每次使用
var
未在范围中声明的变量时,表示JS正在全局范围中搜索它。为了将某个内容分配给全局范围,您可以省略
var
或像这样明确地分配它:

window.desktopData = [];

// And then in another file, assuming that the data is ready

var myData = window.desktopData
还请记住,将文件包含在
标记中通常意味着它们将阻止您的浏览器,并且文件的顺序很重要(至少当您希望依赖于一个文件在另一个文件之前已经加载的事实时)。我建议使用某种导入系统:


删除
var desktopData=
和尾部
要传递JSON而不是javascript变量:另外,确保加载了包含数据的文件document.addEventListener(“DOMContentLoaded”,function(event){//do work});删除
var desktopData=
和尾部
可能重复
要传递JSON而不是javascript变量:另外,确保加载了包含数据的文件document.addEventListener(“DOMContentLoaded”,function(event){//do work});可能重复的