javascript - setInterval 内的关闭计数器
问题描述
我有一个功能:
setInterval(function () {
var counter = 0;
(function() {
counter = counter + 1;
console.log(counter);
})(counter)
}, 1000)
为什么它不增加计数器?(相反,它记录 1)。如何让它记录升序数字?(1, 2, 3, ....)
解决方案
您可以使用一个函数,该函数返回一个函数作为计数器上的闭包。
setInterval(function(counter) {
return function() {
console.log(++counter);
};
}(0), 1000);
推荐阅读
- java - 我们可以在 Spring Boot 中将 csv 文件写入 S3 而不在本地创建文件吗?
- javascript - 角度 AOT 中的动态模板 URL
- php - Ajax resquest响应在php mysql中总是等于零
- python - 使用 Python 自动化 .exe 程序
- sql-server - SSIS Oracle Source 未正确提取 Unicode 字符
- kaggle - 为什么我的比赛结果从我在 Kaggle 的个人资料页面中消失了?
- ios - 如何在使用 UIKitForMac 构建的 mac 应用程序中从 UITableViews 中删除蓝色边框/轮廓?
- apache-camel - 骆驼:通过聚合丰富民意调查
- java - XML 验证似乎忽略了一些 XSD 元素
- javascript - 在reduce函数之后返回一个对象