我有一个全局变量说:
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 ... ?
}
答案 0 :(得分:2)
确保hours
是全球性的:
window.hours = [];
然后你可以在任何地方登录:
console.log(window.hours);
直接使用var而不声明会避免上下文问题。
答案 1 :(得分:0)
如果您在函数中运行上述代码,则变量hours
不是全局变量,因为您之前使用var
声明了它。
如果要将变量声明为全局变量,而不是:
var hours = [];
这样做:
hours = [];
要声明一个全局变量,您只需为它命名即可。