2016-01-11 203 views
0

所以目前我建立一個網站,我從谷歌電子表格中獲取數據,然後繪製圖形在我的網站...更新全局變量的JavaScript/HTML

然而,因爲這個數據是不斷從其他地方流,我每次需要能夠在圖上顯示10個數據點。 (因此顯示10個數據點,然後顯示10個數據點,然後顯示10個數據點,依此類推)。所以我個人需要2個全局變量來跟蹤數據中的位置,從而能夠向用戶呈現正確的圖形。

我已經試過這...

<script> 

var i = 0; 
var lengtharray = 0; //This variable is the second global variable that I need and is updated within the same function as i. 

function doSomething(){ 
    anotherFunction(); 
    i = i + 10; 
    lengtharray++; 

} 

</script> 

所以腳本運行,顯示在圖上的一個數據點接下來的時間,我期待我值爲前我值+ 10在lengtharray值遞增......

相反,我所得到的是I = 0再次lengtharray = 0再次..

我需要這些值進行「更新」,只有初始化/當我重置希望它/瀏覽器關閉並在網頁上重新打開...

我希望這個問題都有道理!

在此先感謝。

+0

你需要將變量重置回0和0嗎?你嘗試過'var i;'和'var lenghtarray;'而不是全局初始化它嗎? –

+0

使用['localStorage'](https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage) –

+0

不要通過刷新瀏覽器窗口「流」,它不再'95了。 –

回答

0

如果問題是由於這些全局變量,並且函數每次都被重新實例化,那麼您可能只能使用單例模式來防止這種情況。如果你不熟悉,它總是返回你的類的前一個實例,變量,無論如何設計模式。這樣,你的對象,類,變量等總是隻有一個實例。我已經在javascript中鏈接了實現。here