2016-01-11 136 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