javascript - 动态大数据插入文本区域碾压 Chrome

标签 javascript jquery html google-chrome memory-management

我的问题是,当我在文本区域中复制许多行时,chrome 会崩溃。代码:

 $("#duplicate").click(function(){
       var lines = $("#input").val().split("\n");
       $("#input").val("");
       console.log(lines.length, $("#duplicate_num").val());
       for(var i = 0; i < lines.length; i++){
           for(var j = 0; j < parseInt($("#duplicate_num").val()); j++){
               $("#input").val($("#input").val()+lines[i]+"\n");
           }
       }
    });

处理少量数据时效果很好,但当我必须复制 500 行 60 次时,Chrome 就死机了。 我应该做哪些改进来保持 chrome 的活力?

最佳答案

没有太多理由在任何浏览器、chrome 或其他浏览器中将 500 行重复 60 次。无论您如何编写,这种类型的操作都将占用大量资源,这就是为什么您应该真正考虑您要完成的任务,并看看是否可以通过其他方式来实现。也就是说,这应该会提高性能。

 $("#duplicate").click(function(){
       var lines = $("#input").val().split("\n");
       var txt = "";
       var count = parseInt($("#duplicate_num").val());
       var line;
       console.log(lines.length, $("#duplicate_num").val());
       for(var i = 0; i < lines.length; i++){
           line = lines[i] + "\n";
           for(var j = 0; j < count; j++){
              txt += line;
           }
       }
       $('#input').val(txt);
    });

关于javascript - 动态大数据插入文本区域碾压 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965829/

相关文章:

javascript - switch case 在 JS 中是如何工作的? switch(true) 是什么意思?

javascript - 创建 js 对象时,为什么不能在另一个定义的函数中使用一个定义的函数?

javascript - 理解 jQuery $(this).closest(element);

javascript - 以 1600 分辨率开始滚动时,如何在到达页 footer 分时停止固定部分

javascript - 播放声音 Javascript 或 HTML

javascript - 如何在window.location javascript中传递php变量

javascript - 查找上一行中的元素并更改类

javascript - 如何使用正则表达式执行验证?

javascript - 无法间接执行 JQuery 函数

javascript - 使用 JQuery 导航到带有下拉菜单选择的页面