作为一个Web前端开发小白的我,今天在写一个管理后端数据库的简单页面的时候遇到了一个棘手的问题.
我想在页面添加一个定时检查输入的指令是否有错的功能.所以在页面的body内的script内添加了这样一行代码:
setInterval(updateFormat,1000);
//其中的updateFormat是我定义在同一个script标签下的用JQuery更新一个div内的提示内容的函数
结果我在测试页面大约2min内,我用Chrome自带的任务管理器查看时发现这个页面的"内存"那一栏已经以每秒2~3mb的速度急剧增长.
然后,我又修改了一下代码:
setInterval("updateFormat()",1000); <span style="font-size:9pt;line-height:1.5;">//其中的updateFormat是我定义在同一个script标签下的用JQuery更新一个div内的提示内容的函数</span>
结果还是发现页面的内存占用还是以200~300kb的速度增长.
再贴出updateFormat中的代码缩减版给你们看看:
function updateFormat(){
$('#check_input pre').text($('#input_content').val());
}<span></span>
所以求大神指点指点.为什么加了一个 setInterval就会使得页面内存持续上升(而且很多在线聊天的网站应该也用了 setInterval的呀,为什么它们的就不会出现这种事),谢谢!
function time(f, time) {
return function walk() {
setTimeout(function () {
f();
walk();
}, time);
};
}
time(updateFormat, 1000)();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。