我在setInterval函数内部有一个计数变量,我想在外部访问此计数变量。请提出建议。我的代码段如下所示。
(function(){
var count=0;
setInterval(function(){
count=count+1;
//able to access count.
console.log(count);
}, 1000)
//I am not able to access count here.
console.log(count);
})()
答案 0 :(得分:0)
由于必须调用设置间隔方法,因此无法立即访问计数。
如果您立即按代码中所示访问它,则最终将得到在设置间隔方法之前调用的初始值。
您可以在一段时间后控制自己的值,并查看计数是否已更新。 Javascript是异步的。
答案 1 :(得分:0)
您的外部console.log(count)
在间隔有机会更新变量之前正在运行。
如果稍后运行它,它将访问更新的变量。例如,您可以在事件处理程序中访问它,它将显示新值。
(function() {
var count = 0;
setInterval(function() {
count = count + 1;
//able to access count.
console.log(count);
}, 1000)
document.getElementById("b").addEventListener("click", function() {
document.getElementById("output").innerText = count;
});
})()
<button id="b">Show counter</button>
<br> Counter value: <span id="output"></span>