setInterval中的全局变量的范围

时间:2016-06-20 02:14:29

标签: javascript jquery

function data(){
    var dataval = anyValue;
    var myVar = setInterval(function(){computeData()});
    function computeData(){
      //inside this function there will be computations 
      //where dataval is included
    }
 }

这只是一个例子。我的问题是,当我更新dataval的值并调用data()时,该值不会在setInterval函数内更新。除非我再次更改值并调用data()。但这甚至都不顺利。

anyValue  = 10

//计算有效

//如果我逐渐更新它,anyValue = 9, //它仍然使用值10,

//然后如果我使用anyValue = 8,现在它使用值9

这不是我正在使用的代码。但同样的逻辑。谢谢!我希望你能得到我的问题! `

1 个答案:

答案 0 :(得分:0)

将计算数据功能移到data()之外,并使其接受变量,例如computeData(object)然后通过var myVar = setInterval(function(){computeData(dataval)});

传递您想要的对象