2012-12-14 104 views
1

我有一個src js文件,我有這個代碼。我需要管理腳本中的est_bandwidth數組,但即使我確信我無法在全局中看到正確的創建。爲什麼?我怎樣才能看到數組也在函數之外?Javascript全球變量數組

var maxBandwidth = 8 * 1024 * 1024;  // 8 Mbps 
var est_bandwidth = new Array(); 
function bandwidth(initial_bps, weight_f, weight_s){ 

this.bps = initial_bps; 
this.weight_f = weight_f; 
this.weight_s = weight_s; 

} 

bandwidth.prototype.calcWeightedBandwidth = function(_bps) { 

this.bps = parseInt(((this.weight_f*this.bps) + (this.weight_s * _bps))/2)*0.9; 
    if(this.bps > maxBandwidth && maxBandwidth > 0) this.bps = maxBandwidth; 
    est_bandwidth.push(this.bps/1024); 
    return this.bps; 
} 
+0

聲明'est_bandwidth'在哪裏?我看不到初始化 - 我期望這會引發錯誤。 – Bergi

+0

我只是忘了示例中的初始化,現在我已經編輯了代碼,但同樣的問題:即使它不是空的,我也看到一個空數組。 – user1903898

+0

啊,好的。這是整個js文件?你如何從外部訪問它? – Bergi

回答

1

聲明est_bandwidth函數以外的變量使其全局可用。使用var est_bandwidth;

+0

我聲明瞭這個變量,但沒有任何變化,我看到一個空的數組 – user1903898

+0

您確定假設用數據填充數組的代碼確實運行嗎?在'est_bandwidth.push'之前加上一個警報來確認。 – WTK

+0

是的,我確定。我可以從我的控制檯看到。 – user1903898