0

我有一个全局变量说:

var series,hours;
var loadData = function(){
series = [[]];
hours = [];
d3.json("data/radar.json", function(error, data) {

    data.QualitySummaryObject.forEach(function(d,i) {
        series[i] = d.extractPercentage;
        hours[i] = d.extractorName;
  });


});  
console.log(hours);
};

现在,如果我试图访问这个 console.log 它工作正常,但是。

var print = function(){
    console.log(hours); //here its not working no value in hours why ... ?
}
4

2 回答 2

2

确保您hours是全球性的:

window.hours = [];

然后你可以在任何地方记录它:

console.log(window.hours);

直接使用 var 而不声明将避免上下文问题。

于 2013-01-28T12:21:53.040 回答
0

如果您在函数中运行上述代码,则该变量hours不是全局变量,因为您之前使用var.

如果要将变量声明为全局变量,而不是这样:

var hours = [];

做这个:

hours = [];

要声明一个全局变量,你所要做的就是给它一个名字。

于 2013-01-28T12:16:17.883 回答