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 に答える